Проверка даты в Laravel: проверка, прошло ли она как минимум 18 лет назад

Чтобы проверить дату в Laravel и убедиться, что она была не менее 18 лет назад, вы можете использовать правило проверки beforeвместе с библиотекой Carbon. Вот пример того, как это можно сделать:

use Carbon\Carbon;
$rules = [
    'birthdate' => 'required|date|before:' . Carbon::now()->subYears(18)->format('Y-m-d'),
];
$messages = [
    'birthdate.before' => 'The birthdate must be at least 18 years ago.',
];
$validator = Validator::make($request->all(), $rules, $messages);
if ($validator->fails()) {
    // Handle validation failure
} else {
    // Date is valid
}

В этом примере мы используем правило before, чтобы указать, что поле дата рождениядолжно быть датой, которая предшествует текущей дате минус 18 лет. Выражение Carbon::now()->subYears(18)->format('Y-m-d')вычисляет дату 18-летней давности.