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

admin3年前PHP教程91

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

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

相关文章

浅谈减少Hyperf框架的扫描时间

目录原因解决办法写在最后原因Hyperf框架为了防止用户更新组件后,代理缓存没有更新导致启动报错。增加了以下钩子。{    "scripts"...

高防IP有什么用?租用美国BGP高防物理机配置推荐?

什么是高防IP?IP就像服务器的门牌号,无论是访问还是管理服务器,都要通过IP进行。同理,如果黑客想要对目标服务器进行DDos攻击,也要知道这个目标服务器的IP,并用大量的无效流量数据对目标IP发起请...

Laravel中的where高级使用方法实例讲解

有时候项目中需要进行多个字段搜索就可以用到此方法在Laravel中的可以同时使用多个where,所以我们可以每个字段分配一个where()然后在每个where()中去闭包判断$username = &...

php的标准标记是什么(php的判断语句)

php的标准标记是什么每一种编程言语都有自己的根本格局、PHP言语也不破例,PHP支撑多种风格的符号和注释。PHP有四种风格的符号,分别是规范符号、短符号、ASP式符号、SCRIPT符号。PHP支撑C...

gpu服务器租用很卡的原因和解决方法泉州GPU服务器租用教程

现在市场上,不管是网站或是游戏,运行流畅是最重要的。如果遇到服务器卡顿的情况,会造成用户访问网站或进游戏,网站页面长时间无法打开,游戏页面运行卡顿,这样就很容易会造成用户的流失,从而导致业务亏损极大,...

PHP缓存系统APCu扩展的使用

目录APCu 扩展方法说明使用演示总结想必大家都使用过 memcached 或者 redis 这类的缓存系统来做日常的缓存,或者用来抗流量,或者用来保存一些常用的热点数据,其实在小项目中,PHP 也已...