我在一个表单中有两个日期字段:fechaInicial
和fechaFinal
. 我已将它们定义为 type date
。
在接收表单的控制器中,除了其他验证规则之外,还有以下内容:
'fechaFinal' => 'required|gte:fechaInicial',
fechaFinal
如果位于 之前,则验证应该失败fechaInicial
。但是,它不会失败。验证通过。
它gte
不适用于日期吗?如果是这样,我应该如何验证结束不是在开始之前?谢谢。
我在一个表单中有两个日期字段:fechaInicial
和fechaFinal
. 我已将它们定义为 type date
。
在接收表单的控制器中,除了其他验证规则之外,还有以下内容:
'fechaFinal' => 'required|gte:fechaInicial',
fechaFinal
如果位于 之前,则验证应该失败fechaInicial
。但是,它不会失败。验证通过。
它gte
不适用于日期吗?如果是这样,我应该如何验证结束不是在开始之前?谢谢。
gte 验证规则不适用于日期,因为您必须使用
after_or_equal
,这是日期独有的。在你的情况下,它会是这样的:
更多信息请访问:https ://laravel.com/docs/5.7/validation#rule-after-or-equal
我留下了第二种选择,如果您想执行更复杂或个性化的验证,它会很有用。在这种情况下,您可以做的是利用Closures ,您甚至可以自定义消息以根据错误显示。
代码可能是这样的: