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

admin3年前PHP教程29

当我们在使用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

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

相关文章

array_values()在php中返回数组的操作实例

在对数组的一些操作上,有些人对于键值方面不太理解。为了方便大家能够更好地对一些值进行返回,本篇带来了array_values() 函数进行介绍,使用后能直接返回数组。下面我们就array_values...

高防服务器一般多少钱?租用泉州电信高防服务器大概费用多少钱?

高防服务器一般多少钱?高防服务器是专门针对网站被挂木马、入侵,以及黑客攻击等造成的网站瘫痪或无法正常访问的情况而推出的一种服务。那么,高防服务器的价格是多少呢?今天小编就来为大家解答这个问题。首先,我...

Laravel中Kafka的使用详解

 本文并没有kafka的安装教程,本文是针对已经安装kafka及其配置好kafka的php拓展并且使用laravel框架进行开发项目,配置一个可供laravel框架使用的生产及消费者类.以下...

韩国站群服务器销量为什么这么火爆?租用韩国站群服务器如何选择合适的?

韩国站群服务器销量为什么这么火爆?有不少有亚洲市场的外贸公司挑选韩国服务器开拓业务,尤其是韩国站群服务器,现在使用韩国站群服务器的用户也不再少数,韩国站群服务器因自身的优点也受到不少用户的青睐,虽说没...

企业租用江苏BGP高防服务器的好处

企业租用江苏BGP高防服务器的好处?企业租用江苏BGP高防服务器有以下好处:提高服务器稳定性:江苏BGP高防服务器能够有效地防御DDoS等攻击,保证企业服务器的稳定运行,避免因网络攻击而导致服务器瘫痪...

php redis的scan用法实例分析

在删除缓存的时候,我们在一些场景下需要批量删除,但不确定具体的key值,可通过匹配的方式进行查询后删除。但是使用keys会导致redis服务器宕机。慎用。。。一般公司也会禁用keys等比较敏感的命令的...