解决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 相关文章推荐
JAVA/JSP学习系列之四
Oct 09 PHP
基于数据库的在线人数,日访问量等统计
Oct 09 PHP
回答PHPCHINA上的几个问题:URL映射
Feb 14 PHP
PHP 飞信好友免费短信API接口开源版
Jul 22 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
Jan 10 PHP
php递归法读取目录及文件的方法
Jan 30 PHP
PHP传参之传值与传址的区别
Apr 24 PHP
为你总结一些php信息函数
Oct 21 PHP
PHP将MySQL的查询结果转换为数组并用where拼接的示例
May 13 PHP
PHP微信公众号开发之微信红包实现方法分析
Jul 14 PHP
PHP编程快速实现数组去重的方法详解
Jul 22 PHP
PHP实现的简单留言板功能示例【基于thinkPHP框架】
Dec 07 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
探讨:parse url解析URL,返回其组成部分
2013/06/14 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
2015/12/25 PHP
学习PHP的数组总结【经验】
2016/05/05 PHP
PHP实现的简单留言板功能示例【基于thinkPHP框架】
2018/12/07 PHP
一段利用WSH修改和查看IP配置的代码
2008/05/11 Javascript
node.js中的console.timeEnd方法使用说明
2014/12/09 Javascript
javascript与css3动画结合使用小结
2015/03/11 Javascript
快速移动鼠标触发问题及解决方法(ECharts外部调用保存为图片操作及工作流接线mouseenter和mouseleave)
2016/08/29 Javascript
jquery 中toggle的2种用法详解(推荐)
2016/09/02 Javascript
如何在Angular2中使用jQuery及其插件的方法
2017/02/09 Javascript
Angular 4.0学习教程之架构详解
2017/09/12 Javascript
ES7之Async/await的使用详解
2019/03/28 Javascript
JavaScript进阶(二)词法作用域与作用域链实例分析
2020/05/09 Javascript
Vue基本指令实例图文讲解
2021/02/25 Vue.js
[01:27]DOTA2电竞之夜 今夜共饮庆功酒
2014/08/02 DOTA
Python实现简单文本字符串处理的方法
2018/01/22 Python
Python requests发送post请求的一些疑点
2018/05/20 Python
Python使用type关键字创建类步骤详解
2019/07/23 Python
tensorflow 获取所有variable或tensor的name示例
2020/01/04 Python
python+selenium+PhantomJS抓取网页动态加载内容
2020/02/25 Python
python实现人工蜂群算法
2020/09/18 Python
pycharm中选中一个单词替换所有重复单词的实现方法
2020/11/17 Python
HTML5地理定位与第三方工具百度地图的应用
2016/11/17 HTML / CSS
沃达丰英国有限公司:Vodafone英国
2019/04/16 全球购物
英国发展最快的在线超市之一:Click Marketplace
2021/02/15 全球购物
什么是虚拟内存?虚拟内存有什么优势?
2016/02/09 面试题
档案接收函范文
2014/01/10 职场文书
敬老文明号事迹材料
2014/01/16 职场文书
公司踏青活动方案
2014/08/16 职场文书
2014年学生会个人工作总结
2014/11/07 职场文书
业务员岗位职责
2015/02/03 职场文书
2016年国陪研修感言
2015/11/18 职场文书
如何书写你的职业生涯规划书?
2019/06/27 职场文书
小公司融资,商业计划书的8切记
2019/07/15 职场文书
OpenCV-Python使用cv2实现傅里叶变换
2021/06/09 Python
SQL优化老出错,那是你没弄明白MySQL解释计划用法
2021/11/27 MySQL