Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама

Статті за тегом «Валідація»

Статті, новини, туторіали та переклади від учасників спільноти

No results.
Tips 02 жовтня 2026

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

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

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

Два підходи:

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

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

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

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

// Швидко: 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 має бути у верхньому регістрі.';
  }
}
Tips 30 вересня 2026

sometimes() - умовні правила валідації

Email обов’язковий… але лише коли тип користувача — customer.

Писати кастомну логіку валідації в контролері? Неохайно.

sometimes() застосовує правила лише тоді, коли умова істинна.

Як це працює:

  • 1-й аргумент — назва поля
  • 2-й аргумент — правила
  • 3-й аргумент — callback-умова

Коли корисно:

  • Поле обов’язкове залежно від іншого поля
  • Різні правила для різних типів користувачів
  • Складна бізнес-логіка у валідації

Порада: складні умови виносьте в окремі методи для читабельності.

$validator = Validator::make($request->all(), [
  'name' => 'required',
  'type' => 'required|in:customer,guest',
]);

$validator->sometimes(
  'email',
  'required|email',
  fn ($input) => $input->type === 'customer'
);

$validator->sometimes(
  ['phone', 'address'],
  'required',
  fn ($input) => $input->type === 'customer'
);

// Складна умова
$validator->sometimes('company_name', 'required', function ($i) {
  return $i->account_type === 'business'
    && $i->annual_revenue > 100000;
});
Laravel 13.27
Новини 27 серпня 2026

Laravel 13.27: маскування параметрів запитів, бінарні порівняння та пасимістичні блокування

У Laravel 13.27 з'явилася можливість приховувати параметри запитів вException-повідомленнях, нові методи whereBinary() для точних порівнянь, refreshForUpdate() для перезавантаження моделі під блокуванням та багато інших покращень безпеки й продуктивності.

4
Валідація ключів масиву
Новини 08 серпня 2026

Валідація ключів масиву в Laravel: нове правило array_keys

Laravel 13.24 додає правило валідації array_keys, яке дозволяє чітко визначити допустимі ключі масиву та відхиляти неочікувані. Це вирішує проблему тихих помилок у фільтрах API та запобігає запису зайвих даних у JSON-колонки.

7
HEIC в Laravel
Новини 08 серпня 2026

Валідація та конвертація HEIC зображень у Laravel

Laravel 13.24 навчився приймати HEIC, HEIF та AVIF формати, додав метод toHeic() для виводу та розширив правило валідації image. Розглядаємо, як приймати фото з iPhone і конвертувати їх у формати, які розуміють браузери.

3
Laravel 13.24
Новини 06 серпня 2026

Визначення домінантного кольору та підтримка HEIC у Laravel 13.24

Laravel 13.24 розширює Image API визначенням домінантного кольору та підтримкою HEIC, додає метод modelKeys() до Eloquent query builder, впроваджує правило валідації array_keys та виправляє критичне уповільнення валідації великих масивів з wildcards.

3
Laravel 13.21
Новини 23 липня 2026

Laravel 13.21: атрибут RouteKey для моделей, валідація base64 та розширення можливостей Image

У Laravel 13.21 з'явився атрибут #[RouteKey] для налаштування route model binding, правило валідації base64, атрибут #[RequestAttribute] для впровадження атрибутів запиту, а також підтримка форматів PNG, GIF, AVIF і BMP у компоненті Image.

2
Laravel 13.15.0: типізовані аксесори для перекладів та покращення безпеки
Новини 14 червня 2026

Laravel 13.15.0: типізовані аксесори для перекладів та покращення безпеки

Вийшла версія Laravel 13.15.0 з типізованими методами для перекладів, десеріалізацією JSON Schema, спеціальним драйвером черг для Laravel Cloud та виправленнями вразливостей у валідації та маршрутизації.

73

Матеріали за темою «Валідація»: усе, що ми писали про це українською. Нижче - суміжні теми, якщо шукаєте ширше.

Зараз опубліковано 18 матеріалів від 2 авторів. Останній матеріал - 23 жовтня 2026.