解决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中数据的批量导入(csv文件)
Oct 09 PHP
php加密解密实用类分享
Jan 07 PHP
PHP以mysqli方式连接类完整代码实例
Jul 15 PHP
PHP实现指定字段的多维数组排序函数分享
Mar 09 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
Mar 25 PHP
php操作redis缓存方法分享
Jun 03 PHP
PHP封装CURL扩展类实例
Jul 28 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
Jul 01 PHP
php实现学生管理系统
Mar 21 PHP
PHP实现在数据库百万条数据中随机获取20条记录的方法
Apr 19 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
Oct 30 PHP
TP5框架实现自定义分页样式的方法示例
Apr 05 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实现框架(一)
2006/10/09 PHP
php二维数组用键名分组相加实例函数
2013/11/06 PHP
php遍历解析xml字符串的方法
2016/05/05 PHP
Yii2基于Ajax自动获取表单数据的方法
2016/08/10 PHP
CI框架(CodeIgniter)操作redis的方法详解
2018/01/25 PHP
如何取得中文输入的真实长度?
2006/06/24 Javascript
jQuery的实现原理的模拟代码 -3 事件处理
2010/08/03 Javascript
JQuery onload、ready概念介绍及使用方法
2013/04/27 Javascript
jQuery中:only-child选择器用法实例
2015/01/03 Javascript
JS的数组迭代方法
2015/02/05 Javascript
javascript中substring()、substr()、slice()的区别
2015/08/30 Javascript
JS实现的仿淘宝交易倒计时效果
2015/11/27 Javascript
微信小程序本地存储实现每日签到、连续签到功能
2019/10/09 Javascript
vue data引入本地图片的两种方式小结
2019/11/13 Javascript
小程序双头slider选择器的实现示例
2020/03/31 Javascript
vue中如何自定义右键菜单详解
2020/12/08 Vue.js
[38:31]完美世界DOTA2联赛PWL S3 Magma vs GXR 第一场 12.13
2020/12/17 DOTA
Python 元组(Tuple)操作详解
2014/03/11 Python
python函数局部变量用法实例分析
2015/08/04 Python
基python实现多线程网页爬虫
2015/09/06 Python
python pandas dataframe 行列选择,切片操作方法
2018/04/10 Python
对python创建及引用动态变量名的示例讲解
2018/11/10 Python
keras 如何保存最佳的训练模型
2020/05/25 Python
今天学到的CSS最新技术(与图片背景相关)
2012/12/24 HTML / CSS
美国领先的机场停车聚合商:Airport Parking Reservations
2020/02/28 全球购物
如何从一个文件档案的尾端新增记录
2016/12/02 面试题
药学专业毕业生求职信
2013/10/20 职场文书
幼儿教师师德演讲稿
2014/05/06 职场文书
群众路线教育实践活动个人对照检查材料
2014/09/22 职场文书
企业投资意向书
2015/05/09 职场文书
加薪申请报告范本
2015/05/15 职场文书
2015年超市工作总结范文
2015/05/26 职场文书
本科毕业答辩开场白
2015/05/27 职场文书
技术转让协议书
2016/03/19 职场文书
2019员工保密协议书(3篇)
2019/09/23 职场文书
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
2021/05/31 Python