解决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 相关文章推荐
一个SQL管理员的web接口
Oct 09 PHP
PHP脚本数据库功能详解(上)
Oct 09 PHP
9个PHP开发常用功能函数小结
Jul 15 PHP
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
Jun 29 PHP
mantis安装、配置和使用中的问题小结
Jul 14 PHP
ThinkPHP查询返回简单字段数组的方法
Aug 25 PHP
php随机取mysql记录方法小结
Dec 27 PHP
PHP实现的同步推荐操作API接口案例分析
Nov 30 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
Aug 31 PHP
PHP实现的数据对象映射模式详解
Mar 20 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
Mar 24 PHP
数据结构之利用PHP实现二分搜索树
Oct 25 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实现与ASP Banner组件相似的类
2006/10/09 PHP
asp和php下textarea提交大量数据发生丢失的解决方法
2008/01/20 PHP
PHP 基本语法格式
2009/12/15 PHP
支持中文字母数字、自定义字体php验证码代码
2012/02/27 PHP
PHP微信支付结果通知与回调策略分析
2019/01/10 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
2020/04/22 PHP
Centos7.7 64位利用本地完整安装包安装lnmp/lamp套件教程
2021/03/09 Servers
关于document.cookie的使用javascript
2010/10/29 Javascript
Extjs EditorGridPanel中ComboBox列的显示问题
2011/07/04 Javascript
关于jquery.validate1.9.0前台验证的使用介绍
2013/04/26 Javascript
node.js中的console.dir方法使用说明
2014/12/10 Javascript
JS实现双击编辑可修改状态的方法
2015/08/14 Javascript
js简单判断移动端系统的方法
2016/02/25 Javascript
jquery插件之文字间歇自动向上滚动效果代码
2016/02/25 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
Bootstrap table 定制提示语的加载过程
2017/02/20 Javascript
[js高手之路]寄生组合式继承的优势详解
2017/08/28 Javascript
微信小程序dom操作的替代思路实例分析
2018/12/06 Javascript
vue 解决form表单提交但不跳转页面的问题
2019/10/30 Javascript
python实现apahce网站日志分析示例
2014/04/02 Python
python中__slots__用法实例
2015/06/04 Python
python去除文件中空格、Tab及回车的方法
2016/04/12 Python
Python模拟三级菜单效果
2017/09/11 Python
Python实现将json文件中向量写入Excel的方法
2018/03/26 Python
Python 对输入的数字进行排序的方法
2018/06/23 Python
Python3中在Anaconda环境下安装basemap包
2018/10/21 Python
elasticsearch python 查询的两种方法
2019/08/04 Python
解决django后台管理界面添加中文内容乱码问题
2019/11/15 Python
CSS3 实现footer 固定在底部(无论页面多高始终在底部)
2019/10/15 HTML / CSS
GoDaddy英国:全球排名第一的域名注册商
2018/06/08 全球购物
英国手机壳购买网站:Case Hut
2019/04/11 全球购物
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
学生检讨书如何写
2014/10/30 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书
2019奶茶店创业计划书范本!
2019/07/15 职场文书
为Centos安装指定版本的Docker
2022/04/01 Servers