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

Перекладено ШІ 3 Laravel News 03 червня, 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 створюють виразний синтаксис, завдяки якому навіть складні вимоги до валідації дат стають простими для розуміння та обслуговування

Популярні

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

15 Оновлено 02 червня, 2026

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

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

49 Оновлено 02 червня, 2026

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

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

18 Оновлено 02 червня, 2026

Оптимізація запитів до бази даних за допомогою скорочених методів Laravel

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