我有此规则“ gt:registration_type_minimum”,以便用户需要在“ registration_type_maximum”字段中输入一个大于在“ registration_type_minimum”字段中引入的值。
但是如果在registration_type_minimum字段中将值“ 2”引入到registration_type_maximum字段中将值“ 1”引入,则消息不会出现。
$rules = [
...
'registration_type_minimum' => 'nullable|integer|min:0',
'registration_type_maximum' => 'nullable|gt:registration_type_minimum|integer|min:0',
];
$customMessages = [
....
'registration_type_maximum.after_or_equal' => 'The maximum registrations per request needs to be greater then the minimum.',
];
$this->validate($request, $rules, $customMessages);
在请求中显示:
"registration_type_minimum" => "2"
"registration_type_maximum" => "1"
但是它表明:方法[validateGt]不存在。
答案 0 :(得分:1)
规则gt
,gte
等在Laravel 5.6中引入,在Laravel 5.5中不可用。要使用此规则,请升级到Laravel 5.6,或在代码库中找到Laravel 5.6的函数定义,并扩展您的验证程序以使用副本。
作为参考,可以在这里找到代码:
以及如何扩展验证器:
https://laravel.com/docs/5.5/validation#custom-validation-rules