Laravel 自定义验证器函数未被调用
Laravel custom validator function not being called
我正在尝试为验证器添加自定义规则,但它根本不起作用,甚至都没有调用该函数。我从文档中获取了这个(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',
]);
验证器没有失败。我做错了什么?
已修复。我的 json 错误,如果输入值为 null(或空),则不会检查自定义 Validator::extend 规则。所以解决方案是
Validator::extendImplicit('foo', function ($attribute, $value, $parameters, $validator) {
return $value == 'foo';
});
或 $request 字段不为空
我正在尝试为验证器添加自定义规则,但它根本不起作用,甚至都没有调用该函数。我从文档中获取了这个(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',
]);
验证器没有失败。我做错了什么?
已修复。我的 json 错误,如果输入值为 null(或空),则不会检查自定义 Validator::extend 规则。所以解决方案是
Validator::extendImplicit('foo', function ($attribute, $value, $parameters, $validator) {
return $value == 'foo';
});
或 $request 字段不为空