---
title: "Валідація Enum - типобезпечні значення у формах"
url: https://laravelukraine.com/blog/validaciia-enum-tipobezpecni-znacennia-u-formax
author: "Олексій Бабінцев"
date: 2026-10-19
---

# Валідація Enum - типобезпечні значення у формах

Статус може бути `pending`, `active`, `inactive`. Валідувати рядками?

PHP 8.1 Enums + Laravel validation = типобезпека.

`Rule::enum()` валідує значення по Enum case’ах автоматично.

**Переваги:**

* Змінили Enum — валідація підлаштувалась
* Жодних хардкод-рядків
* Автодоповнення в IDE
* Зручний рефакторинг

Порада: використовуйте backed enums (string/int) для збереження в БД.

```php
enum OrderStatus: string
{
  case Pending = 'pending';
  case Processing = 'processing';
  case Completed = 'completed';
}

public function rules()
{
  return [
    'status' => ['required', Rule::enum(OrderStatus::class)],
  ];
}

// Каст у моделі - і жодних рядкових статусів
protected $casts = ['status' => OrderStatus::class];
```
