解决Laravel使用验证时跳转到首页的问题

admin3年前PHP教程66

当我们在使用validate等方法进行验证时,如果是错误,则会返回首页

1、直接在请求头中

在请求头header中,accept使用appclication/json,使HTTP请求的接受返回只能是json格式。

2、修改框架函数?

1
2
3
//vendor/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php:136
//将该方法中的$this->getRedirectUrl()去掉
//不建议使用,一般情况下尽量不要修改框架的代码






3、建议使用

定义一个BaseRequest基类

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?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验证跳转到首页内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:blog.csdn/woshissss/article/details/120397036

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

盘点使用境外多IP服务器的几个好处

企业需要不断发展,不断开拓销售的途径,在互联网高速发展的情况下,线上业务慢慢的占据了很多企业的大部分业务,线上平台的建设和完善也慢慢成为企业的重点,独立的境外服务器以及独立的IP也开始成为企业的首选,...

php没有文件被上传的实例分析及解决办法

1、修改php.ini,设置上传文件的大小。2、在httpd.conf中添加“php_value upload_max_filesize "300M"”。3...

Laravel 重写日志,让日志更优雅

更改目的:重写了日志格式加入trace,一次请求的唯一标识加入error级别信息推送,事例中使用企业微信群助手让我们可以更及时、更优雅、更方便追踪日志信息有助于初学者了解Laravel框架1。将文件...

如何从防护角度看Thinkphp历史漏洞

thinkphp rce漏洞和扫描流量漏洞原理回顾5.0.x版本漏洞原理在于thinkphp处理请求的关键类为request(thinkphp/library/think/request.php),该...

如何选择高性能gpu服务器?江西GPU服务器租用教程?

如何选择高性能gpu服务器?当代,无论是生活还是工作,都与网络是分不开的,业余时间,我们喜欢刷刷手机,工作上要与电脑打交道,特别是现在的人工智能领域发展迅速,成为我们生活的另一部分。而这些科技的运作,...

php项目接入xxl-job调度系统的示例详解

目录1. 部署xxl-job调度中心2. 整合xxl-job调度系统2.1 创建执行器项目2.2 新增执行器 2.3 部署执行器项目2.4 新增GLUE模式任务2.5 编写php代...