2016-12-27 73 views
2

我使用Laravel 5.3验证事件的start_date和end_date。 end_date应该等于start_date或之后的日期。 end_date >= start_dateLaravel 5.3日期验证程序:等于或等于start_date

$validator = Validator::make($data, [ 
    'start_date' => 'required|date', 
    'end_date'  => 'required|date|after:start_date', 
]); 

我试图后使用,但它仅适用于END_DATE> START_DATE。 当然,我可以使用Validator::extend添加自定义规则,但是我想知道是否可以在不添加自定义规则的情况下执行此操作。

有什么方法可以添加否定规则或添加> =规则?

感谢

+0

不是一个合适的解决方案,但如果你不想创建自定义验证,你可以从开始日期减去1天,然后在 –

+0

之后使用验证那么,你可以用start_at - 1天做一个新变量,也许不理想,但它应该工作正常。 –

+0

感谢您的建议,但我们可以不用两次调用验证器方法吗? –

回答

2
$validator = Validator::make($data, [ 
    'start_date' => 'required|date', 
    'end_date'  => 'required|date|after_or_equal:start_date', 
]); 

使用after_or_equal 通过SUJIRAJ [R

0

其实,你也可以使用after_or_equalbefore_or_equal当你至少唱Laravel版本5.3.31。这可能有助于避免升级到更高版本的Laravel。

相关问题