解决Laravel使用验证时跳转到首页的问题
2021-11-09 04:07
696 查看
当我们在使用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验证跳转到首页内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:相关文章推荐
- 解决href使用onclick方法时点击该链接的时候不会跳转页面.但是滚动条会往上滚的问题
- 解决Myeclipse10中使用javascript验证form表单,返回true(false)不支持的问题
- Docker内nginx使用301强制http跳转https,解决请求http无数据返回问题
- 如何使用URL跳转解决Web服务80端口被封问题
- nginx 解决首页跳转问题
- 解决微信小程序使用switchTab跳转后页面不刷新的问题
- rsync windows中使用时,密码文件验证问题解决方法
- windows下使用hosts文件(域名映射ip)解决xx首页打不开的问题
- 使用BBED修改文件头解决数据库Open验证问题(下)
- 首页 » Android开发环境 » 解决安装使用SDK Manager更新时的问题:Failed to fetch URL... 解决安装使用SDK Manager更新时的问题:Failed to
- 解决 Windows 系统使用 Homestead 运行 Laravel 本地项目响应缓慢问题
- Laravel使用 FIND_IN_SET()原生MySql语句 精准查询特殊字符串是否存在指定字符串中 解决 like 无法精准匹配问题。(已解决)
- 解决 Windows 系统使用 Homestead 运行 Laravel 本地项目响应缓慢问题
- 解决a标签中的href="#"跳转到首页问题
- LInux下可以使用命令自动与网络的NTP服务器同步时间 CSDN验证码验证失败问题解决
- 关于jquery mobile使用<a href="#"></a>进行页面跳转返回上一页出现空白页问题的解决
- yii 使用cactiveform 创建表单时候遇到的一些验证问题和使用ajax_form时重置验证规则的解决办法
- Laravel中使用FormRequest进行表单验证方法及问题汇总
- ion-tab和ng-click()一起使用,选项不跳转问题解决办法
- 解决使用Validform插件,datatype里用ajax验证数据是否已经存在时出现的问题