after_or_equal验证在laravel 5.2中不起作用

时间:2017-07-08 08:33:49

标签: php laravel-5

我想将start_date与end_date进行比较, 和end_date应该等于或大于start_date, 我正在使用after_or_equal验证。

return Validator::make($data, [
      'start_date' => 'required',
      'end_date' => 'required|date_format:Y-m-d|after_or_equal:start_date'
]);


after_or_create validation of laravel5.2 return error like this.
Method [validateAfterOrEqual] does not exist.

3 个答案:

答案 0 :(得分:0)

您需要将版本升级到5.4才能使用after_or_equal

https://laravel.com/docs/5.4/validation#rule-after-or-equal

注意: after_or_equal版本laravel 5.3

答案 1 :(得分:0)

Validator :: extend('before_equal',function($ attribute,$ value,$ parameters,$ validator){return strtotime($ validator-> getData()[$ parameters [0]])> = strtotime ($ value);});   或者替代方案是升级到5.3

答案 2 :(得分:0)

只需将您的日期发送回1天,然后使用after:规则!

$yesterday = date('Y-m-d', strtotime('-1 days');

$rule = ['start_date' => 'required|after:'.$yesterday];

这将适用于所有版本的laravel,只要满足以下条件即可: