【发布时间】:2018-04-30 00:33:12
【问题描述】:
我正在使用 Bootstrap 日期时间选择器,我正在尝试验证控制器中的日期,但它总是给我一个错误,说格式不正确!。
但是我可以从请求数据创建一个新的 Carbon 日期对象,但我无法使用相同的格式验证请求对象。
这会引发一个错误,指出 from 与格式不匹配 d M Y - H:i
$request->validate([
'from' => 'date_format:"d M Y - H:i"|required|before:till',
'till' => 'date_format:"d M Y - H:i"|required|after:from'
]);
但是,如果我在没有任何验证的情况下使用数据,则此代码有效。
$ride->from = Carbon::createFromFormat('d M Y - H:i', $request->from)->toDateTimeString();
$ride->till = Carbon::createFromFormat('d M Y - H:i', $request->till)->toDateTimeString();
注意:
引导 dateTimePicker 有 format: "dd MM yyyy - hh:ii" 但我理解 javascript 格式不同于 php 格式。
这里出了什么问题?
编辑:这些是从转储请求对象获得的输入日期。
"from" => "16 November 2017 - 14:10"
"till" => "06 November 2017 - 12:00"
【问题讨论】:
-
显示传递给验证器的输入日期。
-
@LeszekRepie 添加,请查看编辑
-
用这种格式在php中显示日期时间并检查是否相同。您应该会看到“2017 年 11 月 15 日 - 15:40”(时间会有所不同)
标签: php laravel validation date