我使用Laravel 5.3。我想使用表单验证来测试用户密码的哈希值。
下面是我的代码:
$validator = Validator::make($request->all(), [
'old_password' => 'required|max:20|min:6',
'new_password' => 'required|max:20|min:6',
'new_password_confirm' => 'required|same:new_password',
]);
// test old password
if (! Hash::check($request->old_password, $user->user_passwd)) {
$validator->errors()->add('end', 'The end time must be within three hours of the start');
}
字符串
这是行不通的,即使条件得到验证。我测试了这个:
Validator::extend('old_password', function($attribute, $value) use ($user) {
return Hash::check($value, $user->user_passwd);
});
型
但我不知道怎么用这个?
2条答案
按热度按时间at0kjp5o1#
您的自定义规则old_password可如下使用
字符串
扩展验证程序。CheckPassword是一个方法isValid()的类。
型
CheckPassword.php将像
型
xxe27gdn2#
我找到解决办法了。最好的简单方法是将extend放在make之前:
字符串