首页后端开发其他后端知识如何解决Laravel使用验证时跳转到首页问题呢?

如何解决Laravel使用验证时跳转到首页问题呢?

时间2024-03-25 12:32:03发布访客分类其他后端知识浏览1534
导读:这篇文章主要给大家介绍“如何解决Laravel使用验证时跳转到首页问题呢?”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考了解一下,希望这篇“如何解决Laravel使用验证时跳转到首页...
这篇文章主要给大家介绍“如何解决Laravel使用验证时跳转到首页问题呢?”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考了解一下,希望这篇“如何解决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时返回首页,一定程度也是一个保护呢。



到此这篇关于“如何解决Laravel使用验证时跳转到首页问题呢?”的文章就介绍到这了,感谢各位的阅读,更多相关如何解决Laravel使用验证时跳转到首页问题呢?内容,欢迎关注网络资讯频道,小编将为大家输出更多高质量的实用文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何解决Laravel使用验证时跳转到首页问题呢?
本文地址: https://pptw.com/jishu/652781.html
PHP实现相似查找的思路和方法是什么? node.js中模块与包的使用好在哪,两者区别是什么

游客 回复需填写必要信息