如何在laravel上进行多次验证?

时间:2017-08-31 08:43:21

标签: laravel validation laravel-5.4 required

我对laravel的验证是这样的:

return Validator::make($data, [
    ...
    'amount' => 'required|integer|min:20000',
]);

我希望金额的价值是数千的倍数

所以可以输入的值只有数千倍

例如:25000,50000,151000,200000等

输入的例子不是数千的倍数:25500,50500,151500,200500等

我该怎么做?

2 个答案:

答案 0 :(得分:4)

您可以使用该数字的模数使用自定义验证规则实现此逻辑: https://laravel.com/docs/5.4/validation#custom-validation-rules

这样的事情应该做:

  Validator::extend('mod1000', function ($attribute, $value, $parameters, $validator) {
            return $value % 1000 == 0;
  });

答案 1 :(得分:1)

您可以使用正则表达式进行此类验证:

return Validator::make($data, [
    ...
    'amount' => 'required|integer|regex:/^[1-9]+[0-9]*000$/',
]);

表达式中的最后三个零是成千上万。第一个数字应该不是零,它们之间的任何数字都是您案例的完美验证。

希望你明白。