解决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 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
Oct 09 PHP
针对初学PHP者的疑难问答(1)
Oct 09 PHP
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
Mar 15 PHP
一些 PHP 管理系统程序中的后门
Aug 05 PHP
PHP校验ISBN码的函数代码
Jan 17 PHP
PHP的cURL库功能简介 抓取网页、POST数据及其他
Apr 07 PHP
PHP include_path设置技巧分享
Jul 03 PHP
php图片处理函数获取类型及扩展名实例
Nov 19 PHP
php批量添加数据与批量更新数据的实现方法
Dec 16 PHP
php 参数过滤、数据过滤详解
Oct 26 PHP
PHP与SQL语句常用大全
Dec 10 PHP
PHP实现根据密码长度显示安全条
Jul 04 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
在JavaScript中调用php程序
2009/03/09 PHP
PHP入门学习笔记之一
2010/10/12 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
js使用DOM设置单选按钮、复选框及下拉菜单的方法
2015/01/20 Javascript
javascript实现label标签跳出循环操作
2016/03/06 Javascript
$.browser.msie 为空或不是对象问题的多种解决方法
2017/03/19 Javascript
详解nodejs操作mongodb数据库封装DB类
2017/04/10 NodeJs
Vue AST源码解析第一篇
2017/07/19 Javascript
把vue-router和express项目部署到服务器的方法
2018/02/21 Javascript
webpack将js打包后的map文件详解
2018/02/22 Javascript
js+css实现扇形导航效果
2020/08/18 Javascript
Python matplotlib绘图可视化知识点整理(小结)
2018/03/16 Python
python3实现字符串操作的实例代码
2019/04/16 Python
解决pyecharts在jupyter notebook中使用报错问题
2020/04/23 Python
简单了解python关系(比较)运算符
2019/07/08 Python
python获取依赖包和安装依赖包教程
2020/02/13 Python
python数据库编程 ODBC方式实现通讯录
2020/03/27 Python
Django模型中字段属性choice使用说明
2020/03/30 Python
Python配置pip国内镜像源的实现
2020/08/20 Python
全球知名旅游社区巴西站点:TripAdvisor巴西
2016/07/21 全球购物
Juicy Couture Beauty官方网站:香水和化妆品
2019/03/12 全球购物
Fox Racing官方网站:越野摩托车和山地自行车装备和服装
2019/12/23 全球购物
向全球直邮输送天然健康产品:iHerb.com
2020/05/03 全球购物
暑假实习求职信范文
2013/09/22 职场文书
创业计划书怎样才能打动风投
2014/01/01 职场文书
计算机专业优秀大学生自我总结
2014/01/21 职场文书
高中生期末评语大全
2014/01/28 职场文书
小学生考试获奖感言
2014/01/30 职场文书
护士毕业实习感言
2014/03/05 职场文书
小学班长竞选演讲稿
2014/04/24 职场文书
护理目标管理责任书
2014/07/25 职场文书
合理化建议书
2015/02/04 职场文书
父亲节感言
2015/08/03 职场文书
敬业奉献模范事迹材料(2016精选版)
2016/02/26 职场文书
Python实现文字pdf转换图片pdf效果
2022/04/03 Python
Nginx HTTP跳转至HTTPS
2022/05/15 Servers