如何解决Laravel使用验证时跳转到首页问题呢?
导读:这篇文章主要给大家介绍“如何解决Laravel使用验证时跳转到首页问题呢?”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考了解一下,希望这篇“如何解决Laravel使用验证时跳转到首页...
这篇文章主要给大家介绍“如何解决Laravel使用验证时跳转到首页问题呢?”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考了解一下,希望这篇“如何解决Laravel使用验证时跳转到首页问题呢?”文章对大家有所帮助。
当我们在使用validate等方法进行验证时,如果是错误,则会返回首页
1、直接在请求头中
在请求头header中,accept使用appclication/json,使HTTP请求的接受返回只能是json格式。
2、修改框架函数
//vendor/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php:136 //将该方法中的$this-> getRedirectUrl()去掉 //不建议使用,一般情况下尽量不要修改框架的代码
3、建议使用
定义一个BaseRequest基类
?php namespace App\Http\Requests; use Illuminate\Contracts\Validation\Validator; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Http\Exceptions\HttpResponseException; class BaseRequests extends FormRequest { /** * validate验证失败模板 * @param Validator $validator */ protected function failedValidation(Validator $validator) { $message = ''; foreach (json_decode(json_encode($validator-> errors()),1) as $error){ $message = $error[0]; break; } throw (new HttpResponseException(response()-> json([ 'code' => 400, 'msg' => $message, 'data' => [] ]))); } }
个人认为这个方法一言难尽,不是很好。
4、最终我使用的解决办法
在JSON请求时,头部的Accept指定为appliaction/json即可解决,当为JSON访问时,则返回错误信息正常,非JSON时返回首页,一定程度也是一个保护呢。
到此这篇关于“如何解决Laravel使用验证时跳转到首页问题呢?”的文章就介绍到这了,感谢各位的阅读,更多相关如何解决Laravel使用验证时跳转到首页问题呢?内容,欢迎关注网络资讯频道,小编将为大家输出更多高质量的实用文章!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何解决Laravel使用验证时跳转到首页问题呢?
本文地址: https://pptw.com/jishu/652781.html