解决Laravel使用验证时跳转到首页的问题
作者:PHP是宇宙中最好的语言 时间:2023-07-12 09:02:13
当我们在使用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
标签:Laravel,验证,跳转,首页
0
投稿
猜你喜欢
深入浅析python中的多进程、多线程、协程
2022-06-05 15:59:27
Python实现动态添加类的属性或成员函数的解决方法
2021-05-13 17:13:41
MySQL做读写分离提高性能缓解数据库压力
2024-01-27 14:36:19
PyTorch的SoftMax交叉熵损失和梯度用法
2023-06-17 12:46:49
Django开发RESTful API实现增删改查(入门级)
2022-05-17 02:36:53
全文译稿 Windows Internet Explorer 8 性能优化白皮书
2010-04-23 20:13:00
用ASP和SQL实现基于Web日历源码
2010-04-24 15:52:00
node.js express安装及示例网站搭建方法(分享)
2024-05-13 09:58:22
document.getElementById的简写方式
2010-06-21 10:44:00
vue前端项目打包成Docker镜像并运行的实现
2023-07-02 17:05:55
通过自学python能找到工作吗
2021-07-24 04:26:33
PHP计算字符串真正的宽度和高度像素(图片加文字水印示例)
2023-05-28 06:48:44
6个卓越Web设计细节[译]
2010-03-24 18:34:00
使用PHP获取网络文件的实现代码
2023-09-09 08:41:53
浏览器根据什么来判定脚本失控?[译]
2009-02-20 13:36:00
Postman返回中文乱码的解决方案
2022-03-16 15:03:02
pytorch教程网络和损失函数的可视化代码示例
2023-11-26 16:13:51
mysql事务管理操作详解
2024-01-20 10:35:29
python udp如何实现同时收发信息
2023-12-16 10:06:33
Mysql的最大连接数怎样用java程序测试
2009-01-14 12:05:00