我使用Laravel 5.3。我想使用表单验证来测试用户密码的散列。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');
}
这不是工作,即使conditon验证。我测试过这个:
Validator::extend('old_password', function($attribute, $value) use ($user) {
return Hash::check($value, $user->user_passwd);
});
但我不明白如何使用它?
SOLUTION:
好,做简单的方式的最佳途径,将化妆前的扩展:
Validator::extend('checkPassword', function ($attribute, $value, $parameters, $validator) use($user) {
return Hash::check($value, $user->user_passwd);
}, 'Your message error !');
$validator = Validator::make($request->all(), [
'old_password' => 'required|max:20|min:6|checkPassword',
'new_password' => 'required|max:20|min:6',
'new_password_confirm' => 'required|same:new_password',
]);
它会到达“$ validator-> errors() - > add('end','结束时间必须在三个小时的开始');“ ? –
它显示任何错误 –
是的,它达到。我试着用死('测试!');和死亡是好的。 –