gpt4 book ai didi

php - 如何使用 laravel 中的验证使输入日期字段大于或等于另一个日期字段

转载 作者:可可西里 更新时间:2023-11-01 13:03:10 27 4
gpt4 key购买 nike

您好,我正在使用 laravel 开发一个应用程序,有什么方法可以使用验证使输入日期字段大于或等于另一个日期字段。

我知道我可以通过 jquery 实现这一点,并且我已经开始工作了,但我想知道这是否可以通过 laravel 验证实现,因为 laravel 已经进行了一些预定义的验证。

例如

protected $validationRules = array
(
'a' => 'date',
'b' => 'date|(some validation so that the b value is greater than or equal to that of 'a')'
);

编辑

如果有任何其他方法可以使用 laravel 概念解决问题,请告诉我

我试过了

Validator::extend('val_date', function ($attribute,$value,$parameters) {
return preg_match("between [start date] and DateAdd("d", 1, [end date])",$value);
});

提前致谢

最佳答案

我遇到了同样的问题。 beforeafter 在日期可能相同时不起作用。这是我的简短解决方案:

注意: Laravel 5.3.25 及更高版本具有新的内置规则:before_or_equalafter_or_equal


// 5.1 or newer
Validator::extend('before_or_equal', function($attribute, $value, $parameters, $validator) {
return strtotime($validator->getData()[$parameters[0]]) >= strtotime($value);
});

// 5.0 & 4.2
Validator::extend('before_or_equal', function($attribute, $value, $parameters) {
return strtotime(Input::get($parameters[0])) >= strtotime($value);
});

$rules = array(
'start'=>'required|date|before_or_equal:stop',
'stop'=>'required|date',
);

关于php - 如何使用 laravel 中的验证使输入日期字段大于或等于另一个日期字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27018045/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com