Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Laravel上的碳验证给定时间大于当前时间?_Laravel_Validation_Time_Php Carbon - Fatal编程技术网

如何使用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')
,答案已编辑。实际上它可以工作,我把时区弄乱了:(