Laravel 5 - 当前用户密码的验证器

Lim*_*nte 7 laravel laravel-5 laravel-validation

我有密码更改表格,里面有两个字段:old_passwordnew_password.

我坚持使用验证码来获取旧密码,这就是我所做的:

Validator::extend('old_password', function($attribute, $value) use ($user) {
    return $user->password === Hash::make($value);
});
Run Code Online (Sandbox Code Playgroud)

Hash::make($value)总是会产生不同的结果$value.

如何使验证器匹配当前用户密码?

Joe*_*Joe 11

您应该使用Hash::check( $plaintext, $hashed ):

return Hash::check( $value, $user->password );
Run Code Online (Sandbox Code Playgroud)