Validate Request 一直重定向问题

既然要优雅那么我就要做到能分离就分离#

今日研究 Validate Request 时遇到了一个问题,在网络上也没有找到相应的问题(出现的太奇怪了):#

话不多说直接上代码#

RegisterController@register

    private $client;

    public function __construct(Guzzle $http)
    {
        $this->client = $http;
    }

    public function register(RegisterUserRequest $request)
    {

      $result =  User::create([

               'name'     => trim($request->name),
               'password' => bcrypt($request->password),
               'email'    => $request->email,
               'mobile'   => $request->mobile,

           ]);

此处使用了 php artisan make:request RegisterUserRequestartisan 命名 ,创建了 RegisterUserRequest:#

     public function rules()
    {
        return [
            'name'      => 'required|min:3|max:20|unique:users',
            'email'     => 'required|min:3|email|unique:users',
            'password'  => 'required|min:3|max:20',
            'mobile'    => 'required|min:11|max:12',
        ];
    }

    public function messages()
    {
      return [

          'name.required' => '请填写用户名',
          'name.min' => '用户名小于3位',
          'name.max' => '用户名最多位20位',
          'name.unique' => '此用户名已存在',
          'email.email' => '请输入正确的邮箱格式',
          'email.required' => '请填写邮箱地址',
          'email.min' => '邮箱最少3位',
          'email.unique' => '该邮箱已存在',
          'password.required' => '请填写密码',
          'password.min' => '密码不得小于3位',
          'password.max' => '密码最多20位',
          'mobile.required' => '请输入手机号码',
          'mobile.min' => '手机号码最少为11位',
          'mobile.max' => '手机号码最多为12位'

          ];
    }

原本的写法为:Validate:: 或者直接使用 $request->validated() 去验证前段传递的数据,但是分离开来代码确实很好看。

然后我就出现了一个令我百思不得其解的状况:无脑重定向到首页
以下是我 Postman 请求的参数:

Validate Request一直重定向问题

现请求各路大神前来探讨一下,为何会出现重定向的问题!

鄙人尝试过在 RegisterUserRequest 进行__construct 然后 dd(111) 有效。
RegisterController 中的 RegisterUserRequest 的依赖注入改为 Illuminate\Http\Request 则也不会发生问题。所以现在断定问题出在 RegisterUserRequest.php 这个文件中。

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
leo
最佳答案

在 Header 里加上 Accept: application/json

5年前 评论
CrazyLickingDog (楼主) 5年前
讨论数量: 2
leo

在 Header 里加上 Accept: application/json

5年前 评论
CrazyLickingDog (楼主) 5年前
leo

在 Header 里加上 Accept: application/json

5年前 评论
CrazyLickingDog (楼主) 5年前
CrazyLickingDog

重定向问题一开始并没有出现,在我进行了几次测试之后这个问题才会出现,已经检查过数据库字段性并没有出现

5年前 评论