在registerController验证中访问Request参数

问题描述 投票:0回答:1

我有两种类型的用户在db中具有不同的字段/列(不是用户表,用户表是相同的,因为他们有不同的配置文件)

所以在我的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',
    ]);
}

它只涵盖1种类型的用户,我需要访问

$request->input('user_type');

在此功能中,我可以为每个用户运行正确的验证

我已经尝试了以前用于旧版laravel版本的东西

private $request ; 
public function __construct(Request $request)
{
    $this->middleware('guest');
    $this->request = $request ; 
}

但是在5.5版本的laravel中它无法正常工作

Unresolvable dependency resolving [Parameter #0 [ <required> $method ]] in class GuzzleHttp\Psr7\Request
php laravel laravel-5.5
1个回答
0
投票

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

对您来说,快速修复可能是在文件开头导入正确的依赖项。

<?php

namespace ...;

use Illuminate\Http\Request;
use GuzzleHttp\Psr7\Request as GuzzleRequest;
© www.soinside.com 2019 - 2024. All rights reserved.