Laravel如何快速验证*——注册自定义验证规则

AppServiceProvider.php:

public function boot()
{
    ...
    Validator::extend('mobile', function ($attribute, $value, $parameters, Validator $validator) {
        return $validator->validateRegex($attribute, $value, ['/^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))d{8}$/']);
    });
}

自定义的验证闭包接收四个参数:

要被验证的属性名称 $attribute
属性的值 $value
传入验证规则的参数数组 $parameters
Validator 实例

使用:

$validator = Validator::make($request->all(), [
    'phone'=>[
        'required',
        'mobile',
    ]
], [
    'phone.required'=>'电话必填',
    'phone.mobile'=>'电话格式不对',
]);
原文地址:https://www.cnblogs.com/caibaotimes/p/14022521.html