laravel中使用FormRequest进行表单验证,验证异常返回Json


通常在项目中,我们会对大量的前端提交过来的数据进行验证,如果不通过,返回错误信息。

前端为了更好的体验,都使用ajax进行提交,虽然validate方法能够根据前端不同的请求方式,返回不同的结果。

但是返回的json格式并不是我们想要的,这个时候就要自定义返回错误结果。

php artisan make:request TestRequest

 该类继承 FormRequest类

父类FormRequest中的failedValidation()方法用来处理验证失败,我们需要重写父类方法,实现自己得返回。

public function failedValidation(Validation $validator)
{
throw (new HttpResponseException(response->json([
    'status_code' => '500',
    'message' => '请求错误',
    'data' => $validator->errors()->first(),
],200)));
}

 注意,failedValidation方法中的$validator 参数是 Illuminate\Contracts\Validation\Validator对象,不是Illuminate\Validation\Validator,不要弄混


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM