比较数值的规则

时间:2018-07-27 14:47:57

标签: php laravel laravel-5.5

我有此规则“ 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]不存在。

1 个答案:

答案 0 :(得分:1)

规则gtgte等在Laravel 5.6中引入,在Laravel 5.5中不可用。要使用此规则,请升级到Laravel 5.6,或在代码库中找到Laravel 5.6的函数定义,并扩展您的验证程序以使用副本。

作为参考,可以在这里找到代码:

https://github.com/laravel/framework/blob/5.6/src/Illuminate/Validation/Concerns/ValidatesAttributes.php

以及如何扩展验证器:

https://laravel.com/docs/5.5/validation#custom-validation-rules