---
title: "Кастомні правила валідації - коли вбудованих недостатньо"
url: https://laravelukraine.com/blog/kastomni-pravila-validaciyi-koli-vbudovanix-nedostatnyo
author: "Олексій Бабінцев"
date: 2026-10-02
---

# Кастомні правила валідації - коли вбудованих недостатньо

Потрібно перевірити дані через зовнішній API? Або зробити складну перевірку в БД?

Вбудованих правил може не вистачити. Кастомні правила дають повний контроль.

**Два підходи:**

* Класи-правила (перевикористовні, тестовані)
* Closure (швидко, інлайн)

**Коли використовувати:**

* Бізнес-специфічна валідація
* Перевірки через зовнішній API
* Складні запити до БД
* Перевірки, що залежать від кількох полів

Порада: для правил, які повторюються в різних формах, краще робити окремий клас-правило.

```php
// Швидко: closure-правило
public function rules()
{
  return [
    'username' => [
      'required',
      function ($attr, $value, $fail) {
        if (strtoupper($value) !== $value) {
          $fail("Поле {$attr} має бути у ВЕРХНЬОМУ регістрі.");
        }
      },
    ],
  ];
}

// Перевикористовно: php artisan make:rule Uppercase
class Uppercase implements Rule
{
  public function passes($attribute, $value): bool
  {
    return strtoupper($value) === $value;
  }

  public function message(): string
  {
    return 'Поле :attribute має бути у верхньому регістрі.';
  }
}
```
