解决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来实现网络服务
Sep 15 PHP
Ajax+PHP 边学边练 之二 实例
Nov 24 PHP
php操作excel文件 基于phpexcel
Jul 02 PHP
PHP详解ASCII码对照表与字符转换
Dec 05 PHP
Session服务器配置指南与使用经验的深入解析
Jun 17 PHP
将php数组输出html表格的方法
Feb 24 PHP
php查询mssql出现乱码的解决方法
Dec 29 PHP
微信获取用户地理位置信息的原理与步骤
Nov 12 PHP
Yii数据读取与跳转参数传递用法实例分析
Jul 12 PHP
php array_multisort 对数组进行排序详解及实例代码
Oct 27 PHP
PHP PDOStatement::nextRowset讲解
Feb 01 PHP
PHP+iframe模拟Ajax上传文件功能示例
Jul 02 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正则表达式(regar expression)
2011/09/10 PHP
探讨如何在PHP开启gzip页面压缩实例
2013/06/09 PHP
PHP资源管理框架Assetic简介
2014/06/12 PHP
mac环境中使用brew安装php5.5.15
2014/08/18 PHP
详解 PHP加密解密字符串函数附源码下载
2015/12/18 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
2017/05/20 PHP
服务器端的JavaScript脚本 Node.js 使用入门
2012/03/07 Javascript
js的hasownproperty使用示例
2014/03/02 Javascript
javascript中with()方法的语法格式及使用
2014/08/04 Javascript
使用javascript实现监控视频播放并打印日志
2015/01/05 Javascript
Javascript基础_标记文字的实现方法
2016/06/14 Javascript
Jquery AJAX POST与GET之间的区别详细介绍
2016/10/17 Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
2017/12/13 Javascript
微信小程序实现页面浮动导航
2019/01/28 Javascript
vue基础之v-bind属性、class和style用法分析
2019/03/11 Javascript
ES6 Class中实现私有属性的一些方法总结
2019/07/08 Javascript
LayUI数据接口返回实体封装的例子
2019/09/12 Javascript
微信小程序swiper使用网络图片不显示问题解决
2019/12/13 Javascript
Vue组件间数据传递的方式(3种)
2020/07/13 Javascript
vue3.0自定义指令(drectives)知识点总结
2020/12/27 Vue.js
[01:04:06]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第一局
2016/02/26 DOTA
python之模拟鼠标键盘动作具体实现
2013/12/30 Python
Python使用面向对象方式创建线程实现12306售票系统
2015/12/24 Python
python用pickle模块实现“增删改查”的简易功能
2017/06/07 Python
Python实现文件信息进行合并实例代码
2018/01/17 Python
python通过tcp发送xml报文的方法
2018/12/28 Python
python2和python3实现在图片上加汉字的方法
2019/08/22 Python
如何搭建pytorch环境的方法步骤
2020/05/06 Python
基于keras中的回调函数用法说明
2020/06/17 Python
Python操作PostgreSql数据库的方法(基本的增删改查)
2020/12/29 Python
2015年前台接待工作总结
2015/05/04 职场文书
《詹天佑》教学反思
2016/02/20 职场文书
正确使用MySQL update语句
2021/05/26 MySQL
sql时间段切分实现每隔x分钟出一份高速门架车流量
2022/02/28 SQL Server
Java数组详细介绍及相关工具类
2022/04/14 Java/Android
python和Appium的移动端多设备自动化测试框架
2022/04/26 Python