如果传入请求是AJAX请求,则不会生成任何重定向。相反,带有422状态代码的HTTP响应将返回到浏览器,其中包含验证错误的JSON表示形式。
这是行不通的!我正在尝试通过ajax请求访问路由,并将其重定向回去。
如果验证通过,您的代码将继续正常执行。但是,如果验证失败,则将抛出Illuminate \ Contracts \ Validation \ ValidationException。该异常会自动捕获,并会重定向到用户的先前位置。验证错误甚至会自动闪烁到会话中!
现在我想知道laravel在哪里捕获此异常,以便可以对其进行修改?
这在FormRequest类中处理:
protected function failedValidation(Validator $validator)
{
throw new HttpResponseException($this->response(
$this->formatErrors($validator)
));
}
您可以在自己的Request对象中覆盖此函数,并以任意方式处理验证失败。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句