【问题标题】:Laravel custom validator function not being calledLaravel 自定义验证器函数未被调用
【发布时间】:2017-02-05 02:22:43
【问题描述】:

我正在尝试为验证器添加自定义规则,但它根本不起作用,甚至没有调用该函数。我从文档中获取了这个(https://laravel.com/docs/5.4/validation#custom-validation-rules):

在 AppServiceProvider::boot 我有这个:

Validator::extend('foo', function ($attribute, $value, $parameters, $validator) {
   return false;
});

在我的控制器中我有这个:

$validator = Validator::make($request->all(), [
    'myField' => 'foo',
]);

验证器没有失败。我做错了什么?

【问题讨论】:

    标签: php validation laravel-5.4


    【解决方案1】:

    修复它。我的 json 错误,如果输入值为 null(或为空),则不会检查自定义 Validator::extend 规则。所以解决方案是

    Validator::extendImplicit('foo', function ($attribute, $value, $parameters, $validator) {
        return $value == 'foo';
    });
    

    或不为空的 $request 字段

    【讨论】:

      猜你喜欢
      • 2015-01-02
      • 2020-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-04
      • 2013-11-15
      • 2014-09-17
      • 2021-03-08
      相关资源
      最近更新 更多