【发布时间】:2017-05-11 14:26:20
【问题描述】:
我正在使用 Laravel 5.3 来验证事件的 start_date 和 end_date。
end_date 应该等于 start_date 或之后的日期。 end_date >= start_date
$validator = Validator::make($data, [
'start_date' => 'required|date',
'end_date' => 'required|date|after:start_date',
]);
我尝试使用 after,但它只适用于 end_date > start_date。
当然,我可以使用Validator::extend添加自定义规则,但我想知道我们是否可以不添加自定义规则。
有没有办法添加否定规则或者添加>=规则?
谢谢
【问题讨论】:
-
不是一个合适的解决方案,但如果您不想创建自定义验证,您可以从开始日期减去 1 天,然后使用 after 进行验证
-
好吧,您可以使用 start_at - 1 天创建一个新变量,然后将其传入,可能并不理想,但应该可以正常工作。
-
感谢您的建议,但我们可以不调用两次验证器方法吗?
-
是的,如果您在 $data 变量中插入少于 1 天的变量,则可以
-
验证器正上方操纵$data变量
标签: php laravel validation laravel-5.3