laravel中自定义的验证exampleRequest在控制器中给定输入类型后接下来如何处理?

未使用过laravel,流程不对往不吝赐教,不知道在Laravel中如何实践更佳。此处在AddAdminRequest中返回了异常消息,所以我不知道该如何捕捉并响应给用户,希望诸位指教!

前端ajax无刷新提交表单,这里是ajax等待接收消息与回调
https://img3.mukewang.com/5c8f6eaa0001b6bf08000560.jpg

store是资源控制器中的存储方法,这里注入AddAdminRequest,限定了输入类型
https://img2.mukewang.com/5c8f6eab000133a706290270.jpg

这里是AddAdminRequest类中的方法,此类继承了BaseAdminRequest,在两个方法中载入了表单限制规则与异常信息
https://img2.mukewang.com/5c8f6eac0001bf4f08000261.jpg

这里是BaseAdminRequest类中的属性,此类继承了FormRequest
https://img2.mukewang.com/5c8f6eae0001c18308000574.jpg

chroem浏览器中network返回值
https://img2.mukewang.com/5c8f6eb00001819206470316.jpg

完整流程介绍
https://img2.mukewang.com/5c8f6eb10001e69108000284.jpg

绝地无双
浏览 413回答 1
1回答

收到一只叮咚

这里返回的并不是json数据,返回的错误信息,按照官网给的解释是闪存进入了session里面的包装后的数据。如果你想重写这个返回的数据,得在你的BaseAdminRequest里面重写failedValidation方法。use IlluminateContractsValidationValidator;use DingoApiExceptionStoreResourceFailedException; //(这里我使用了dingo/api,你也可以去找下基础类)Class xx { protected function failedValidation(Validator $validator) { $message = $validator->errors()->first(); $res = array( 'msg'=>$message, 'status_code' => 200 ); throw new StoreResourceFailedException($message, $res); } }
打开App,查看更多内容
随时随地看视频慕课网APP