Laravel中FormRequest中重写错误处理的介绍(代码示例)

互联网 19-1-9
本篇文章给大家带来的内容是关于Laravel中FormRequest中重写错误处理的介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

laravel 框架中默认的validate验证,在处理错误的时候,默认是返回上一页,当为ajax的时候才会返回Json。如果我们要一直返回Json的话,那么需要重写错误处理

如下:在Requests目录只用 新建BaseRequest类

代码如下

<?php /**  * @文件名称: BaseRequest.php.  * @author: daisc  * @email: jiumengfadian@live.com  * @Date: 2019/1/8  */  namespace App\Http\Requests\Front;   use Illuminate\Foundation\Http\FormRequest; use Illuminate\Http\Exceptions\HttpResponseException;  class BaseRequest extends FormRequest {      public function failedValidation($validator)     {          $error= $validator->errors()->all();        // $error = $validator;          throw  new HttpResponseException(response()->json(['code'=>1,'message'=>$error[0]]));      }   }

重写了failedValidation方法,将抛出错误处理为了json格式的。然后在自定义的处理验证类中,继承该类就行了,如:RegisterForm

<?php  namespace App\Http\Requests\Front;    class RegisterForm extends BaseRequest {     /**      * Determine if the user is authorized to make this request.      *      * @return bool      */     public function authorize()     {         return true;     }      /**      * Get the validation rules that apply to the request.      *      * @return array      */     public function rules()     {         return [             'phone'=>'required|regex:"^1\d{10}"',             'email' => 'required|email',             'password'=>'required|confirmed'         ];     }      public function messages()     {         return [             'phone.required'=>'手机号不能为空',             'phone.regex'=>'请输入正确的手机号',         ];      }    }

以上就是Laravel中FormRequest中重写错误处理的介绍(代码示例)的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: PHP
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:laravel数据迁移与Eloquent ORM的详细介绍(代码示例)

相关资讯