Чтобы проверить дату в 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-летней давности.