php artisan make:rule 名称
规则创建之后,就可以定义行为方法,一个规则对象包含两个方法:passes
和 message
,passes
方法接收属性值和名称,并且基于属性值是否有效返回 true
或 false
。message
方法用于在验证失败时返回验证错误消息:
另一个注册自定义验证规则的方式是使用 Validator
门面上的 extend
方法。我们在某个服务提供者(如 Providers/AppServiceProvider
)中使用该方法注册一个自定义验证规则:
// 手机号验证
Validator::extend('mobile', 'App\Rules\Mobile@passes');
Validator::replacer('mobile', function($message, $attribute, $rule, $parameters) {
return 'The ' . $attribute . ' must be mobile.';
});
在方法中使用:
public function test(Request $request)
{
$rules = [
'mobile' => 'required|mobile',
];
$this->validate($request, $rules);
return Response::success();
}