laravel 框架中默认的validate验证,在处理错误的时候,默认是返回上一页,当为ajax的时候才会返回Json。如果我们要一直返回Json的话,那么需要重写错误处理
如下:在Requests目录只用 新建baseRequest类
代码如下
errors()->all();
// $error = $validator;
throw new HttpResponseException(response()->json(['code'=>1,'message'=>$error[0]]));
}
}
重写了failedValidation方法,将抛出错误处理为了json格式的。
然后在自定义的处理验证类中,继承该类就行了,
如:RegisterForm中
'required|regex:"^1d{10}"',
'email' => 'required|email',
'password'=>'required|/confirm/ied'
];
}
public function messages()
{
return [
'phone.required'=>'手机号不能为空',
'phone.regex'=>'请输入正确的手机号',
];
}
}
当我们在控制器中调用RegisterForm的时候,就回返回Json格式的错误信息。
不分是否是AJAX
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。



