消息:调用未定义的方法 Illuminate\Contracts\Validation\Rule::unique()

use*_*474 3 laravel laravel-7

我正在尝试验证表单中的字段并使用唯一的规则

 $validator = Validator::make($request->all(),[
    'email' => ['required', 'string', 'email', 'max:255', Rule::unique('users')->where(function ($q) {
   $q->whereNotNull('password');
}) ],
    'password' => ['required', 'string', 'min:5', 'confirmed','min:8'],
    'password_confirmation' => ['min:8']
]);
Run Code Online (Sandbox Code Playgroud)

收到此错误:

message: "调用未定义的方法 Illuminate\Contracts\Validation\Rule::unique()",

使用了这个命名空间:

使用 Illuminate\Contracts\Validation\Rule;

有什么建议请谢谢

Adr*_*kot 8

您使用了错误的命名空间。代替

use Illuminate\Contracts\Validation\Rule;
Run Code Online (Sandbox Code Playgroud)

use Illuminate\Validation\Rule;
Run Code Online (Sandbox Code Playgroud)