我想为重置密码的表单创建验证。
我有一个检查新密码是否相同且超过6个字符的方法。
如果给出以前的密码是否一致,我只想检查一件事。
/**
* Reset user password
*
* @return void
*/
public function reset_password(Request $request){
$this->validate($request, [
'old_password' => 'required',
'password' => 'required|min:6|confirmed'
]);
$user = Auth::user();
$user->password = bcrypt($request->password);
$user->save();
return redirect('/user/profile');
}
答案 0 :(得分:0)
试试这个:
\Hash::check($request->password, $user->password);
答案 1 :(得分:0)
执行此操作的最佳方法是创建新的验证规则:Custom Validation Rules。
我做了什么(未经测试):
// Somewhere inside your app service provider boot()
Validation::extend('notSamePassword', function($attribute, $value, $parameters, $validator) {
return !Hash::check($attribute, $parameters[0]);
}
然后在你验证的控制器/地方:
$password = 'password hash to validate with';
$this->validate($request, [
'old_password' => 'required',
'password' => 'required|min:6|confirmed|notSamePassword:'.$password
]);