laravel 自定义验证 Validator::extend
时间: 2023-07-07 12:46:26 浏览: 235
是的,Laravel 提供了自定义验证规则的功能,可以使用 `Validator::extend` 方法来扩展验证器。使用该方法时,需要传递两个参数:自定义规则的名称和一个闭包函数,该函数接收三个参数:属性名、属性值和参数数组。在闭包函数中,可以根据传入的参数对属性值进行验证,如果验证通过,返回 true,否则返回 false。
以下是一个自定义验证规则的示例代码:
```php
Validator::extend('custom_rule', function ($attribute, $value, $parameters, $validator) {
// 根据参数验证属性值是否符合规则
if ($value == 'custom') {
return true;
}
return false;
});
```
在上述代码中,我们定义了一个名为 `custom_rule` 的自定义验证规则,该规则的作用是验证属性值是否等于 `'custom'`。如果属性值等于 `'custom'`,则返回 true,否则返回 false。使用时,可以像使用其他验证规则一样使用该规则:
```php
$validator = Validator::make($data, [
'field' => 'custom_rule'
]);
```
希望我的回答能够帮助到你!
阅读全文