在 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;
我在数据库中有 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;