解决Laravel使用验证时跳转到首页的问题
作者:PHP是宇宙中最好的语言 发布时间:2023-07-12 09:02:13
标签:Laravel,验证,跳转,首页
当我们在使用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时返回首页,一定程度也是一个保护呢。
来源:https://blog.csdn.net/woshissss/article/details/120397036


猜你喜欢
- pandas官方文档:https://pandas.pydata.org/pandas-docs/stable/?v=20190307135
- 如下所示:import datetime #获取两个日期间的所有日期 def getEveryDay(begin_date,end_date
- 本文实例讲述了Python元组常见操作。分享给大家供大家参考,具体如下:不能修改的列表就叫做元组。1 访问元素元组是使用圆括号来标识的。 定
- 学生管理系统相信大家学各种语言的时候,练习总是会写各种管理系统吧,管理系统主要有对数据的增删查改操作,原理不难,适合作为练手的小程序数据的结
- Context 背景 和 适用场景Context 的背景Golang 在 1.6.2 的时候还没有自己的 context,在1.7的版本中就
- 本文主要介绍了一个获取SQL Server数据字典的经典SQL语句,大家可以根据各自的实际情况对这段语句进行相应的修改。SELECT sys
- 先看一道GIL面试题:描述Python GIL的概念, 以及它对python多线程的影响?编写一个多线程抓取网页的程序,并阐明多线程抓取程序
- 1.数组上的迭代NumPy 包含一个迭代器对象numpy.nditer。它是一个有效的多维迭代器对象,可以用于在数组上进行迭代。数组的每个元
- 在SQL中,很多威力都来自于将几个表或查询中的信息联接起来,并将结果显示为单个逻辑记录集的能力。在这种联接中包括INNER、LEFT、RIG
- 一、多表查询多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间
- 1、安装pymysql库如果你想要使用python操作MySQL数据库,就必须先要安装pymysql库,这个库的安装很简单,直接使用pip
- 如:$str="php如何将字 符串中322的字母数字sf f45d和中文_分割?";按数字或字母分割。$str = &
- 为了保护系统或数据安全,我们需要最佳随机密码。这里使用unix系统定义的文件设备/dev/random,从中获取随机数生成器的种子。需求说明
- 目录前言typeof是否能正确判断类型?instanceof是否能正确判断类型?Object.prototype.toString.call
- 在mysql中limit可以实现快速分页,但是如果数据到了几百万时我们的limit必须优化才能有效的合理的实现分页了,否则可能卡死你的服务器
- 最近小爬一直思忖着如何将以前写的一些半自动化程序转为全自动化,这其中就涉及到SAP的打开和登录过程。我们都知道,SAP原生的&ldq
- 使用gorm.Model后无法查询数据Scan error on column index 1, name “created_at”提示:S
- 1 conda介绍conda是一个python的包管理器,用来管理、安装、更新python的包和相关的依赖。另外,conda可以为特定任务创
- 本文实例为大家分享了JavaScript实现网页版计算器的具体代码,供大家参考,具体内容如下由于无聊看电脑上的系统软件翻到了计算器这个功能,
- JS添加/删除事件在IE和支持dom浏览器分别为:attachEvent(ie中的添加事件),detachEvent(ie中的删除事件),a