解决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上传图片、删除图片实现代码
May 12 PHP
PHP程序员面试 切忌急功近利(更需要注重以后的发展)
Sep 01 PHP
PHP设计模式 注册表模式
Feb 05 PHP
PHP多例模式介绍
Jun 24 PHP
php检测用户是否用手机(Mobile)访问网站的类
Jan 09 PHP
php生成唯一的订单函数分享
Feb 02 PHP
thinkPHP中_initialize方法实例分析
Dec 05 PHP
PHP 根据key 给二维数组分组
Dec 09 PHP
PHP实现提高SESSION响应速度的几种方法详解
Aug 09 PHP
thinkphp3.2同时连接两个数据库的简单方法
Aug 13 PHP
Laravel-admin之修改操作日志的方法
Sep 30 PHP
七种PHP开发环境搭建工具
Jun 28 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
ASP知识讲座四
2006/10/09 PHP
PHP常用函数小技巧
2008/09/11 PHP
php计算数组不为空元素个数的方法
2014/01/27 PHP
php学习笔记之基础知识
2014/11/08 PHP
PHP代码实现爬虫记录――超管用
2015/07/31 PHP
JavaScript 创建对象和构造类实现代码
2009/07/30 Javascript
JS小框架 fly javascript framework
2009/11/26 Javascript
javascript中的void运算符语法及使用介绍
2013/03/10 Javascript
js去除输入框中所有的空格和禁止输入空格的方法
2014/06/09 Javascript
JavaScript中获取高度和宽度函数总结
2014/10/08 Javascript
分享一款基于jQuery的视频播放插件
2014/10/09 Javascript
深入浅析JavaScript中with语句的理解
2016/05/12 Javascript
Vue.js组件tree实现省市多级联动
2016/12/02 Javascript
什么是Vue.js框架 为什么选择它?
2017/10/17 Javascript
vue使用v-if v-show页面闪烁,div闪现的解决方法
2018/10/12 Javascript
JavaScript事件对象深入详解
2018/12/30 Javascript
Javascript的this详解
2019/03/23 Javascript
uni app仿微信顶部导航条功能
2019/09/17 Javascript
如何在JavaScript中创建具有多个空格的字符串?
2020/02/23 Javascript
微信小程序实现滑动操作代码
2020/04/23 Javascript
vue使用nprogress加载路由进度条的方法
2020/06/04 Javascript
[57:55]EG vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
跟老齐学Python之有容乃大的list(1)
2014/09/14 Python
python实现可将字符转换成大写的tcp服务器实例
2015/04/29 Python
详解Python3操作Mongodb简明易懂教程
2017/05/25 Python
python+matplotlib演示电偶极子实例代码
2018/01/12 Python
python模拟菜刀反弹shell绕过限制【推荐】
2019/06/25 Python
Python Django基础二之URL路由系统
2019/07/18 Python
Python使用多进程运行含有任意个参数的函数
2020/05/02 Python
keras输出预测值和真实值方式
2020/06/27 Python
Python之字典对象的几种创建方法
2020/09/30 Python
python利用pytesseract 实现本地识别图片文字
2020/12/14 Python
北美领先的牛仔品牌:Buffalo David Bitton
2017/05/22 全球购物
2014年医务科工作总结
2014/12/18 职场文书
2015年采购部工作总结
2015/04/23 职场文书
人事行政部各岗位职责说明书!
2019/07/15 职场文书