在 registerController 验证中访问 Request 参数

accessing Request parameter in registerController validation

我在数据库中有 2 种不同 fields/columns 的用户(不是用户 table,用户 table 是相同的,因为他们有不同的配置文件)

所以在我的registerController.php中我有这个验证函数

protected function validator(array $data)
{
    return Validator::make($data, [
        'name' => 'required|string|max:255',
        'last_name' => 'required|string|max:255',
        'email' => 'required|string|email|max:255|unique:users',
        'password' => 'required|string|min:6|confirmed',
    ]);
}

仅涵盖一种类型的用户,我需要访问

$request->input('user_type');

在这个函数中,所以我可以 运行 对每个用户进行适当的验证

我已经尝试过在旧 laravel 版本

中有用的东西
private $request ; 
public function __construct(Request $request)
{
    $this->middleware('guest');
    $this->request = $request ; 
}

但是在 laravel 的 5.5 版本中它不起作用我得到

Unresolvable dependency resolving [Parameter #0 [ <required> $method ]] in class GuzzleHttp\Psr7\Request

当 Laravel 无法解析对您的 __construct 方法的依赖时,就会发生这种情况。在您的情况下,这是 Request $request。如您的错误所示,它正在尝试注入 GuzzleHttp\Psr7\Request 无法由 laravel 解决的依赖项(没有答案)。

可能对您来说一个快速解决方法是在文件开头导入正确的依赖项。

<?php

namespace ...;

use Illuminate\Http\Request;
use GuzzleHttp\Psr7\Request as GuzzleRequest;