如何使用Laravel上的碳验证给定时间大于当前时间?
我想验证格式化为如何使用Laravel上的碳验证给定时间大于当前时间?,laravel,validation,time,php-carbon,Laravel,Validation,Time,Php Carbon,我想验证格式化为H:I:s(例如“16:35:00”)的时间输入是否大于当前时间 $request->validate([ 'start_time' => 'required|after:now', 'end_time' => 'required|after:start_time', ]); 上述代码检查的是日期而不是时间。使用setDateFrom(从开始到结束,从开始到结束)更改要与实际输入进行比较的日期,因此只有时间与您最初给出的日期时间保持检查状态: $req
H:I:s
(例如“16:35:00”)的时间输入是否大于当前时间
$request->validate([
'start_time' => 'required|after:now',
'end_time' => 'required|after:start_time',
]);
上述代码检查的是日期而不是时间。使用
setDateFrom
(从开始到结束,从开始到结束)更改要与实际输入进行比较的日期,因此只有时间与您最初给出的日期时间保持检查状态:
$request->validate([
'start_time'=>'必需|在:'之后。Carbon::now()->格式('H:i:s'),
“结束时间”=>“必需”|在:开始时间”之后,
]);
但是,它不会验证不同日期的时间(例如09:00 PM-03:00 AM
第二天)<在这种情况下,代码>开始时间和结束时间
应作为HH:mm
提供,但您可以轻松更改它
$this->validate($request, [
'start_time' => 'date_format:H:i',
'end_time' => 'date_format:H:i|after:start_time',
]);
那么这不起作用了?你发送的是哪种格式时间不起作用,格式是16:35:00(我不知道是H:m:s格式)它不起作用,它说“开始时间必须是2021-05-26 13:28:06之后的日期。”但当前时间是“17:59:00”,我猜不出你的输入格式,在这个问题中精确它是值得的。在这种情况下,它更容易,您只需精确设置开头的格式:
'required | after:'。Carbon::now()->格式('H:i:s')
,答案已编辑。实际上它可以工作,我把时区弄乱了:(