注册自定义验证规则
Laravel 提供了各种有用的验证规则,但是,您可能希望可以设定自定义验证规则。注册生成自定义的验证规则的方法之一就是使用 Validator::extend
方法:
Validator::extend('foo', function($attribute, $value, $parameters)
{
return $value == 'foo';
});
自定义验证器闭包接收三个参数:要被验证的 $attribute(属性) 的名称,属性的值 $value,传递至验证规则的 $parameters 数组。
您同样可以传递一个类和方法到 extend 方法中,取代原本的闭包:
Validator::extend('foo', 'FooValidator@validate');
注意,您同时需要为您的自定义规则制订一个错误信息。您可以使用行内自定义信息数组或是在认证语言文件里新增。
扩展 Validator 类
除了使用闭包回调来扩展 Validator 外,您一样可以直接扩展 Validator 类。您可以写一个扩展自 Illuminate\Validation\Validator
的验证器类。您也可以增加验证方法到以 validate
为开头的类中: