天天看點

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'=>'電話格式不對',
]);