解决Laravel使用验证时跳转到首页的问题


Posted in PHP onNovember 17, 2021

当我们在使用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验证跳转到首页内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
WINDOWS 2000下使用ISAPI方式安装PHP
Sep 05 PHP
PHPMailer安装方法及简单实例
Nov 25 PHP
PHP 开发环境配置(Zend Studio)
Apr 28 PHP
在Windows系统上安装PHP运行环境文字教程
Jul 19 PHP
使用XDebug调试及单元测试覆盖率分析
Jan 27 PHP
php多维数组去掉重复值示例分享
Mar 02 PHP
php中mail函数发送邮件失败的解决方法
Dec 24 PHP
php基本函数汇总
Jul 09 PHP
PHP代码实现表单数据验证类
Jul 28 PHP
PHP基于堆栈实现的高级计算器功能示例
Sep 15 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
May 09 PHP
php实现自动生成验证码的实例讲解
Nov 17 PHP
php png失真的原因及解决办法
Oct 24 #PHP
PHP中国际化的字符串排序和比较对象详解
Aug 23 #PHP
PHP中多字节字符串操作实例详解
Aug 23 #PHP
PHP使用QR Code生成二维码实例
Jul 07 #PHP
PHP设计模式(观察者模式)
Jul 07 #PHP
eval(cmd)与eval($cmd)的区别与联系
用php如何解决大文件分片上传问题
Jul 07 #PHP
You might like
控制PHP的输出:缓存并压缩动态页面
2013/06/11 PHP
php实现与erlang的二进制通讯实例解析
2014/07/23 PHP
Yii2超好用的日期和时间组件(值得收藏)
2016/05/05 PHP
Mootools 1.2教程 输入过滤第一部分(数字)
2009/09/15 Javascript
JavaScript Event学习第三章 早期的事件处理程序
2010/02/07 Javascript
关于捕获用户何时点击window.onbeforeunload的取消事件
2011/03/06 Javascript
jquery 如何动态添加、删除class样式方法介绍
2012/11/07 Javascript
JQuery Highcharts 动态生成图表的方法
2013/11/15 Javascript
js 阻止子元素响应父元素的onmouseout事件具体实现
2013/12/23 Javascript
js的正则test,match,exec详细解析
2014/01/29 Javascript
在JavaScript中正确引用bind方法的应用
2015/05/11 Javascript
JS实现的简洁纵向滑动菜单(滑动门)效果
2015/10/19 Javascript
javascript合并表格单元格实例代码
2016/01/03 Javascript
jquery Deferred 快速解决异步回调的问题
2016/04/05 Javascript
JS敏感词过滤代码
2016/12/23 Javascript
JS中的数组转变成JSON格式字符串的方法
2017/05/09 Javascript
Nodejs实现多房间简易聊天室功能
2017/06/20 NodeJs
最适应的vue.js的form提交涉及多种插件【推荐】
2018/08/27 Javascript
微信小程序--获取用户地理位置名称(无须用户授权)的方法
2019/04/29 Javascript
javascript中的数据类型检测方法详解
2019/08/07 Javascript
vue引入静态js文件的方法
2020/06/20 Javascript
JavaScript实现原型封装轮播图
2020/12/27 Javascript
小程序实现列表倒计时功能
2021/01/29 Javascript
[06:09]辉夜杯主赛事开幕式
2015/12/25 DOTA
python实现中文输出的两种方法
2015/05/09 Python
总结python爬虫抓站的实用技巧
2016/08/09 Python
Python语言描述最大连续子序列和
2017/12/05 Python
python实现人人自动回复、抢沙发功能
2018/06/08 Python
浅谈Python3实现两个矩形的交并比(IoU)
2020/01/18 Python
在python中实现求输出1-3+5-7+9-......101的和
2020/04/02 Python
移动端HTML5 input常见问题(小结)
2020/09/28 HTML / CSS
美国男装连锁零售商:Men’s Wearhouse
2016/10/14 全球购物
马来西亚网上购物平台:ezbuy
2018/02/13 全球购物
夜班门卫岗位职责
2013/12/09 职场文书
库房保管员岗位职责
2014/04/07 职场文书
一文搞懂php的垃圾回收机制
2021/06/18 PHP