laravel框架中默认的生效验证,在处理错误的时候,默认是返回上一页,当为创建交互式、快速动态网页应用的网页开发技术的时候才会返回Json。如果我们要一直返回数据的话,那么需要重写错误处理
如下:在要求目录只用新建BaseRequest类
代码如下
?php/** * @文件名称:BaseRequest.php .* @作者: daisc * @ email :[email protected]* @日期: 2019/1/8 */命名空间App Http Requests Front使用照明基础 Http FormRequest使用照明 Http Exceptions Httpresponseexception;类BaseRequest扩展了FormRequest { public function未通过验证($ validator){ $ error=$ validator-errors()-all();//$ error=$ validator;抛出新的HttpResponseException(response()-JSON([' code '=1,' message '=$ error[0]]));}}重写了失败的验证方法,将抛出错误处理为了数据格式的。
然后在自定义的处理验证类中,继承该类就行了,
如:RegisterForm中
?phpnamespace App Http Requests Front;类注册表单扩展了BaseRequest{ /** *确定用户是否被授权发出此请求* * @返回bool */public function authorize(){返回true} /** *获取适用于请求的验证规则* * @ return array */public function rules(){ return['phone'='required|regex:'^1d{10}'','电子邮件'='必选|电子邮件','密码'='必选|已确认'];}公共函数messages(){ return[' phone。必需的“=”手机号不能为空,' phone.regex'='请输入正确的手机号', ];}}当我们在控制器中调用注册表单的时候,就回返回数据格式的错误信息。
不分是否是创建交互式、快速动态网页应用的网页开发技术
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。