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

message: Call to undefined method Illuminate\Contracts\Validation\Rule::unique()

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

 $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']
]);

出现此错误:

message: "Call to undefined method Illuminate\Contracts\Validation\Rule::unique()",

使用了这个命名空间:

use Illuminate\Contracts\Validation\Rule;

有什么建议,谢谢

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

use Illuminate\Contracts\Validation\Rule;

use Illuminate\Validation\Rule;