解决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 相关文章推荐
从一个不错的留言本弄的mysql数据库操作类
Sep 02 PHP
Apache+php+mysql在windows下的安装与配置图解(最新版)
Nov 30 PHP
php流量统计功能的实现代码
Sep 29 PHP
探讨PHP中this,self,parent的区别详解
Jun 08 PHP
基于PHP+Ajax实现表单验证的详解
Jun 25 PHP
PHP怎么实现网站保存快捷方式方便用户随时浏览
Aug 15 PHP
php stream_get_meta_data返回值
Sep 29 PHP
PHP加Nginx实现动态裁剪图片方案
Mar 10 PHP
php实现word转html的方法
Jan 22 PHP
php的debug相关函数用法示例
Jul 11 PHP
PHP新特性详解之命名空间、性状与生成器
Jul 18 PHP
php 根据URL下载远程图片、压缩包、pdf等文件到本地
Jul 26 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 强制性文件下载功能的函数代码(任意文件格式)
2010/05/26 PHP
PHP pathinfo()获得文件的路径、名称等信息说明
2011/09/13 PHP
php递归创建和删除文件夹的代码小结
2012/04/13 PHP
实例讲解PHP表单处理
2019/02/15 PHP
PHP容器类的两种实现方式示例
2019/07/24 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
js实现运动logo图片效果及运动元素对象sportBox使用方法
2012/12/25 Javascript
使用JavaScript构建JSON格式字符串实现步骤
2013/03/22 Javascript
document.getElementBy(&quot;id&quot;)与$(&quot;#id&quot;)有什么区别
2013/09/22 Javascript
同域jQuery(跨)iframe操作DOM(实例讲解)
2013/12/19 Javascript
Node.js模拟浏览器文件上传示例
2014/03/26 Javascript
jQuery简单实现禁用右键菜单
2015/03/10 Javascript
jquery简单实现图片切换效果的方法
2015/05/12 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
2015/11/17 Javascript
AngularJS中处理多个promise的方式
2016/02/02 Javascript
javascript实现可键盘控制的抽奖系统
2016/03/10 Javascript
基于vue的短信验证码倒计时demo
2017/09/13 Javascript
seajs实现强制刷新本地缓存的方法分析
2017/10/16 Javascript
JavaScript同源策略和跨域访问实例详解
2018/04/03 Javascript
vue地址栏直接输入路由无效问题的解决
2018/11/15 Javascript
[20:46]Ti4循环赛第三日VG vs DK
2014/07/12 DOTA
python绘制条形图方法代码详解
2017/12/19 Python
python smtplib模块自动收发邮件功能(二)
2018/05/22 Python
打包python 加icon 去掉cmd黑窗口方法
2019/06/24 Python
pycharm 中mark directory as exclude的用法详解
2020/02/14 Python
C++面试题:关于链表和指针
2013/06/05 面试题
应届优秀本科大学毕业生自我鉴定
2014/01/21 职场文书
小学生国庆节演讲稿
2014/09/05 职场文书
2014年学校领导班子对照检查材料
2014/09/19 职场文书
教师党员个人剖析材料
2014/09/29 职场文书
个人工作能力自我评价
2015/03/05 职场文书
新生开学寄语大全
2015/05/28 职场文书
安全生产学习心得体会
2016/01/18 职场文书
2016年暑期社会实践活动总结报告
2016/04/06 职场文书
python基于OpenCV模板匹配识别图片中的数字
2021/03/31 Python
MySQL数据库必备之条件查询语句
2021/10/15 MySQL