Laravel 5.5.Как я могу проверить дату, используя валидатор Laravel - PullRequest
0 голосов
/ 07 июня 2018

У меня есть несколько полей, которые определяют passport_issued_date и passport_expiration_date.Мне нужно проверить активность данного паспорта по сравнению с текущим временем.Я бы сделал это с помощью нативного php, однако я хотел бы знать, есть ли какой-нибудь способ сделать проверку с использованием проверки laravel 5.5 по датам.

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

См. Эти правила https://laravel.com/docs/5.5/validation#rule-date или https://laravel.com/docs/5.5/validation#rule-date-format и все доступные правила https://laravel.com/docs/5.5/validation#available-validation-rules

Validator::make($request_data, [
    'start_date' => 'date',
    'end_date' => 'date|after_or_equal:start_date',
]);

или

Validator::make($request_data, [
    'start_date' => 'date_format:Y-m-d H:i:s',
    'end_date' =>'date_format:Y-m-d H:i:s||after_or_equal:start_date',
]);

и после него

if ($validator->fails()) {
    return response()->json(['error' => $validator->errors()], 422);
}
0 голосов
/ 07 июня 2018

Попробуйте,

$current_time=\Carbon\Carbon::now();

$validator = Validator::make($request_data, [
    'passport_issued_date' => ['date_format:Y-m-d H:i:s',"after_or_equal:$current_time"]        
]);

if ($validator->fails()) {
    return response()->json(['error' => $validator->errors()], 422);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...