【发布时间】:2014-07-18 16:49:16
【问题描述】:
在密码重置表单上,用户提供current_password、password 和password-confirmation。有没有办法在验证规则中指定current_password(它的哈希值)必须与数据库值匹配?
目前我有这个:
$rules = array(
'current_password' => 'required',
'password' => 'required|confirmed|min:22'
);
谢谢。
更新
感谢@ChrisForrence 和@Ben,我想出了以下方法,效果很好!非常感激。希望这对其他人有帮助:
Validator::extend('hashmatch', function($attribute, $value, $parameters)
{
return Hash::check($value, Auth::user()->$parameters[0]);
});
$messages = array(
'hashmatch' => 'Your current password must match your account password.'
);
$rules = array(
'current_password' => 'required|hashmatch:password',
'password' => 'required|confirmed|min:4|different:current_password'
);
$validation = Validator::make( Input::all(), $rules, $messages );
【问题讨论】:
-
这可能会有所帮助:Custom validation rules
-
好点!让我试一试,我们会在那里试一试。谢谢。
标签: php validation laravel-4 bcrypt