解决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数组函数序列之rsort() - 对数组的元素值进行降序排序
Nov 02 PHP
php5.3 goto函数介绍和示例
Mar 21 PHP
使用PHP破解防盗链图片的一个简单方法
Jun 07 PHP
Codeigniter上传图片出现“You did not select a file to upload”错误解决办法
Jun 12 PHP
php实现的树形结构数据存取类实例
Nov 29 PHP
Yii使用ajax验证显示错误messagebox的解决方法
Dec 03 PHP
PHP实现多文件上传的方法
Jul 08 PHP
php中遍历二维数组并以表格的形式输出的方法
Jan 03 PHP
PHP 无限级分类
May 04 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
Feb 19 PHP
ThinkPHP实现的rsa非对称加密类示例
May 29 PHP
php命令行写shell实例详解
Jul 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 读取文件的正确方法
2009/04/29 PHP
用PHP编写和读取XML的几种方式
2013/01/12 PHP
thinkphp3.x中变量的获取和过滤方法详解
2016/05/20 PHP
PHP面向对象程序设计类的定义与用法简单示例
2016/12/27 PHP
解决Laravel blade模板转义html标签的问题
2019/09/03 PHP
解决laravel5中auth用户登录其他页面获取不到登录信息的问题
2019/10/08 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
Avengerls vs Newbee BO3 第三场2.18
2021/03/10 DOTA
javascript 写类方式之三
2009/07/05 Javascript
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
jQuery实现列表自动滚动循环滚动展示新闻
2014/08/22 Javascript
ajaxFileUpload.js插件支持多文件上传的方法
2014/09/02 Javascript
用iframe实现不刷新整个页面上传图片的实例
2016/11/18 Javascript
Websocket协议详解及简单实例代码
2016/12/12 Javascript
JavaScript中Math对象的方法介绍
2017/01/05 Javascript
如何获取元素的最终background-color
2017/02/06 Javascript
浅谈angular2的http请求返回结果的subcribe注意事项
2017/03/01 Javascript
实现一个完整的Node.js RESTful API的示例
2017/09/29 Javascript
vue webpack重写cookie路径的方法
2019/07/10 Javascript
javascript实现简易计算器功能
2020/09/23 Javascript
[03:01]完美盛典趣味短片 DOTA2年度最佳&拉胯英雄
2019/12/07 DOTA
儿童编程python入门
2018/05/08 Python
Python实现将通信达.day文件读取为DataFrame
2018/12/22 Python
python遍历小写英文字母的方法
2019/01/02 Python
解决安装pyqt5之后无法打开spyder的问题
2019/12/13 Python
如何基于Python创建目录文件夹
2019/12/31 Python
Python requests模块session代码实例
2020/04/14 Python
AVI-8手表美国官方商店:AVI-8 USA
2019/04/10 全球购物
Hashtable 添加内容的方式有哪几种,有什么区别?
2012/04/08 面试题
英语师范专业毕业生自荐信
2013/09/21 职场文书
自荐信的基本格式
2014/02/22 职场文书
《木笛》教学反思
2014/03/01 职场文书
教师求职自荐信
2015/03/26 职场文书
代理词怎么写
2015/05/25 职场文书
停车场管理制度范本
2015/08/05 职场文书
Python中threading库实现线程锁与释放锁
2021/05/17 Python