Laravel 带有额外参数的自定义验证

Laravel Custom Validation with Extra Parameters

除了 $attribute$value 之外,是否可以向自定义验证规则添加额外的参数?

我正在实现更改密码功能。我想创建一个自定义规则,根据用户的密码哈希检查输入 password,并在应用密码更改之前通知用户是否输入了正确的密码。

我该怎么做?

好吧,您通常可以先对 "password" 字段进行 "required" 验证检查,然后将其与散列和 return 错误进行匹配,如果它不匹配,如下所示:

// normal required validation
...
//check for correct password
$password = $request->input('password');
if (!Hash::check($password, $hashedPassword))
{
    //return error
}

当然,您需要从当前登录的用户中获取$hashedPassword