Створення потужної валідації дат за допомогою правила Date у Laravel

Перекладено ШІ 3 Laravel News 26 червня, 2026

Вас цікавить, як спростити валідацію дат у ваших Laravel-додатках? У цій статті ми розглянемо нове потужне правило Date, яке дозволяє легко реалізувати складні вимоги до валідації в зрозумілому та легкому для підтримки форматі коду

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

Основна реалізація демонструє гнучкість правила:

use Illuminate\Validation\Rules\Date;
 
public function rules()
{
    return [
        'start_date' => [
            'required',
            new Date  // Основна валідація дати
        ],
        'end_date' => [
            'required',
            (new Date)
                ->after('start_date')
                ->before('2025-01-01')
        ],
        'birth_date' => [
            'required',
            (new Date)
                ->format('d/m/Y')
                ->beforeToday()
        ]
    ];
}

Ось як це правило спрощує валідацію в системі бронювання:

class ReservationController extends Controller
{
    public function store(Request $request)
    {
        $validated = $request->validate([
            'check_in' => [
                'required',
                (new Date)
                    ->format('Y-m-d')
                    ->afterOrEqual('today')
                    ->before(now()->addMonths(6))
            ],
            'check_out' => [
                'required',
                (new Date)
                    ->format('Y-m-d')
                    ->after('check_in')
            ],
            'special_request_by' => [
                'nullable',
                (new Date)
                    ->format('Y-m-d')
                    ->between('today', 'check_in')
            ],
            'guest_birthday' => [
                'nullable',
                (new Date)
                    ->format('m/d/Y')
                    ->beforeOrEqual('today')
                    ->after(now()->subYears(120))
            ]
        ]);
 
        Reservation::create($validated);
 
        return redirect()->route('reservations.confirmation');
    }
}

Ланцюгові методи правила Date створюють виразний синтаксис, завдяки якому навіть складні вимоги до валідації дат стають простими для розуміння та обслуговування

Популярні

Інше, що варто прочитати

16 Оновлено 26 червня, 2026

Простий пакет RabbitMQ для Laravel

Вам цікаво дізнатися, як спростити інтеграцію RabbitMQ у вашому Laravel-додатку? У нашій статті ми розглянемо пакет Simple RabbitMQ, який дозволяє легко налаштувати багатозʼєднання, публікувати повідомлення та обробляти черги за допомогою простого синтаксису. Читайте далі, щоб дізнатися більше!

11 Оновлено 26 червня, 2026

Laravel: шлях до створення справді дієздатних AI-агентів

Чи готові ви підвищити ефективність своїх проектів на Laravel і спростити інтеграцію штучного інтелекту? У нашій статті ви дізнаєтеся, як Vizra ADK може революціонізувати ваш підхід до розробки, розширюючи можливості, забезпечуючи тестування та надійність для ваших AI-агентів

50 Оновлено 26 червня, 2026

Nuxt 3 + Laravel Sanctum: Просте та надійне рішення для автентифікації вашого SPA та API

У сучасній веб-розробці аутентифікація є ключовою для захисту додатків і даних користувачів. Дізнайтеся, як модуль nuxt-sanctum-authentication спростить інтеграцію між Nuxt 3 та Laravel Sanctum, забезпечуючи надійний і зручний спосіб реалізації аутентифікації для вашого проєкту