解决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 相关文章推荐
PHP中在数据库中保存Checkbox数据(2)
Oct 09 PHP
解析PHP留言本模块主要功能的函数说明(代码可实现)
Jun 25 PHP
PHP登陆后跳转到登陆前页面实现思路及代码
Jan 17 PHP
php递归方法实现无限分类实例代码
Feb 28 PHP
php简单分页类实现方法
Feb 26 PHP
php找出指定范围内回文数且平方根也是回文数的方法
Mar 23 PHP
php获取访问者IP地址汇总
Apr 24 PHP
yii实现model添加默认值的方法(2种方法)
Jan 06 PHP
php制作简单模版引擎
Apr 07 PHP
Zend Framework入门教程之Zend_Mail用法示例
Dec 08 PHP
PHP实现留言板功能的详细代码
Mar 25 PHP
Yii2设置默认控制器的两种方法
May 19 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从memcache读取数据再批量写入mysql的方法
2014/12/29 PHP
php实现字符串首字母转换成大写的方法
2015/03/17 PHP
Laravel框架学习笔记之批量更新数据功能
2019/05/30 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
2019/10/21 PHP
JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
2012/08/14 Javascript
node.js调用C++开发的模块实例
2015/07/03 Javascript
原生javascript+css3编写的3D魔方动画旋扭特效
2016/03/14 Javascript
微信小程序 教程之wxapp视图容器 scroll-view
2016/10/19 Javascript
如何理解Vue的.sync修饰符的使用
2017/08/17 Javascript
解决vue build打包之后首页白屏的问题
2018/03/06 Javascript
vue中v-for循环给标签属性赋值的方法
2018/10/18 Javascript
微信小程序 多行文本显示...+显示更多按钮和收起更多按钮功能
2019/09/26 Javascript
JavaScript交换变量的常用方法小结【4种方法】
2020/05/07 Javascript
ant-design-vue按需加载的坑的解决
2020/05/14 Javascript
[03:59]第二届DOTA2亚洲邀请赛选手传记-VGJ.rOtk
2017/04/03 DOTA
[00:15]TI9观赛名额抽取
2019/07/10 DOTA
Python编程之属性和方法实例详解
2015/05/19 Python
简介二分查找算法与相关的Python实现示例
2015/08/26 Python
对Python的Django框架中的项目进行单元测试的方法
2016/04/11 Python
python监控文件或目录变化
2016/06/07 Python
python连接mysql实例分享
2016/10/09 Python
基于python的字节编译详解
2017/09/20 Python
Python3内置模块random随机方法小结
2019/07/13 Python
房地产出纳岗位职责
2013/12/01 职场文书
军训 自我鉴定
2014/02/03 职场文书
房产公证书范本
2014/04/10 职场文书
关键在于落实心得体会
2014/09/03 职场文书
2014迎国庆演讲稿
2014/09/19 职场文书
小学生作文批改评语
2014/12/25 职场文书
老公保证书怎么写
2015/02/26 职场文书
2015年社区综治工作总结
2015/04/21 职场文书
详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)
2021/07/01 HTML / CSS
详解在SQLPlus中实现上下键翻查历史命令的功能
2022/03/18 SQL Server
解决MySQL Varchar 类型尾部空格的问题
2022/04/06 MySQL
Python内置的数据类型及使用方法
2022/04/13 Python
Golang map映射的用法
2022/04/22 Golang