我有一些字段定义了passport_issued_date和passport_expiration_date。我需要通过与当前时间比较来检查给定护照的活动。我会通过使用本机php来实现,但是我想知道是否有某种方法可以在日期使用laravel 5.5验证进行验证。
答案 0 :(得分:3)
试试这种方式,
$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);
}
答案 1 :(得分:0)
查看此规则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);
}