解决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 相关文章推荐
也谈截取首页新闻 - 范例
Oct 09 PHP
用PHP函数解决SQL injection
Dec 09 PHP
利用PHP制作简单的内容采集器的代码
Nov 28 PHP
snoopy PHP版的网络客户端提供本地下载
Apr 15 PHP
php 不同编码下的字符串长度区分
Sep 26 PHP
Fatal error: Call to undefined function curl_init()解决方法
Apr 09 PHP
PHP中json_encode、json_decode与serialize、unserialize的性能测试分析
Jun 09 PHP
php线性表的入栈与出栈实例分析
Jun 12 PHP
PHP抓取及分析网页的方法详解
Apr 26 PHP
php实现单笔转账到支付宝功能
Oct 09 PHP
laravel dingo API返回自定义错误信息的实例
Sep 29 PHP
PHP语言对接抖音快手小红书视频/图片去水印API接口源码
Aug 11 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基础知识:类与对象(3) 构造函数和析构函数
2006/12/13 PHP
php下判断数组中是否存在相同的值array_unique
2008/03/25 PHP
一个PHP的String类代码
2010/04/20 PHP
破解图片防盗链的代码(asp/php)测试通过
2010/07/02 PHP
php的ZipArchive类用法实例
2014/10/20 PHP
php接口数据加密、解密、验证签名
2015/03/12 PHP
PHP接收App端发送文件流的方法
2016/09/23 PHP
Yii统计不同类型邮箱数量的方法
2016/10/18 PHP
form自动提交实例讲解
2017/07/10 PHP
PHP如何搭建百度Ueditor富文本编辑器
2018/09/21 PHP
php提取微信账单的有效信息
2018/10/01 PHP
[原创]站长必须要知道的javascript广告代码
2007/05/30 Javascript
Javascript this关键字使用分析
2008/10/21 Javascript
解决IE6的PNG透明JS插件使用介绍
2013/04/17 Javascript
jQuery插件zTree实现清空选中第一个节点所有子节点的方法
2017/03/08 Javascript
BootStrap注意事项小结(五)表单
2017/03/10 Javascript
canvas实现刮刮卡效果
2017/03/14 Javascript
vue.js中指令Directives详解
2017/03/20 Javascript
Angular4.0动画操作实例详解
2019/05/10 Javascript
Ant design vue中的联动选择取消操作
2020/10/31 Javascript
使用PIL(Python-Imaging)反转图像的颜色方法
2019/01/24 Python
Python面向对象总结及类与正则表达式详解
2019/04/18 Python
Pytorch 实现冻结指定卷积层的参数
2020/01/06 Python
python用opencv完成图像分割并进行目标物的提取
2020/05/25 Python
Python轻量级web框架bottle使用方法解析
2020/06/13 Python
css3 伪元素和伪类选择器详解
2014/09/04 HTML / CSS
Omio葡萄牙:全欧洲低价大巴、火车和航班搜索和比价
2019/02/09 全球购物
意大利网上药房:Farmacia 33
2020/01/27 全球购物
EJB与JAVA BEAN的区别
2016/08/29 面试题
计算机大学生职业生涯规划书范文
2014/02/19 职场文书
会走路的树教学反思
2014/02/20 职场文书
入职担保书怎么写
2014/05/12 职场文书
项目申报专员岗位职责
2014/07/09 职场文书
开展党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
刑事上诉状(无罪)
2015/05/23 职场文书
制作能在nginx和IIS中使用的ssl证书
2021/06/21 Servers