解决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
解决MySQL中文输出变成问号的问题
Jun 05 PHP
php面向对象全攻略 (十七) 自动加载类
Sep 30 PHP
使用PHP求两个文件的相对路径
Jun 20 PHP
PHP实现的多彩标签效果代码分享
Aug 21 PHP
php单文件版在线代码编辑器
Mar 12 PHP
php实现的mongodb操作类实例
Apr 03 PHP
Symfony2使用第三方库Upload制作图片上传实例详解
Feb 04 PHP
Zend Framework教程之Zend_Registry对象用法分析
Mar 22 PHP
比较完整的微信开发php代码
Aug 02 PHP
thinkPHP5.0框架命名空间详解
Mar 18 PHP
Laravel定时任务的每秒执行代码
Oct 22 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
第十节 抽象方法和抽象类 [10]
2006/10/09 PHP
PHP IE中下载附件问题解决方法
2014/01/07 PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
2014/06/04 PHP
Yii Framework框架获取分类下面的所有子类方法
2014/06/20 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
2019/09/27 PHP
详解使用php-cs-fixer格式化代码
2020/09/16 PHP
IE6图片加载的一个BUG解决方法
2010/07/13 Javascript
当前页禁止复制粘贴截屏代码小集
2013/07/24 Javascript
javascript函数式编程实例分析
2015/04/25 Javascript
完美实现八种js焦点轮播图(上篇)
2016/07/18 Javascript
JavaScript实现使用Canvas绘制图形的基本教程
2016/10/27 Javascript
Javascript之面向对象--方法
2016/12/02 Javascript
JS制作类似选项卡切换的年历
2016/12/03 Javascript
bootstrap实现动态进度条效果
2017/03/08 Javascript
Bootstrap Table使用整理(一)
2017/06/09 Javascript
swiper动态改变滑动内容的实现方法
2018/01/17 Javascript
Vue源码解析之数据响应系统的使用
2019/04/24 Javascript
socket在egg中的使用实例代码详解
2019/05/30 Javascript
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
jQuery pager.js 插件动态分页功能实例分析
2019/08/02 jQuery
react用Redux中央仓库实现一个todolist
2019/09/29 Javascript
使用Python实现下载网易云音乐的高清MV
2015/03/16 Python
Python中使用第三方库xlrd来读取Excel示例
2015/04/05 Python
Python实现微信消息防撤回功能的实例代码
2019/04/29 Python
Python Django中间件,中间件函数,全局异常处理操作示例
2019/11/08 Python
python元组拆包实现方法
2021/02/28 Python
html5 Canvas画图教程(7)—canvas里画曲线之quadraticCurveTo方法
2013/01/09 HTML / CSS
Melissa鞋马来西亚官方网站:MDreams马来西亚
2018/04/05 全球购物
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
大学生怎样进行自我评价
2013/12/07 职场文书
应届毕业生求职信范文分享
2013/12/26 职场文书
九年级历史教学反思
2014/01/27 职场文书
骨干教师考核方案
2014/05/09 职场文书
李强感恩观后感
2015/06/17 职场文书
PHP实现两种排课方式
2021/06/26 PHP
漫画《尖帽子的魔法工坊》宣布动画化
2022/04/06 日漫