旧密码和新密码校验规则
Rule for Checking Old Password and New Password
我正在使用确认密码检查旧密码和新密码。
这里我想检查旧密码和新密码是否不应该相同。
我该怎么做?
这是我的规则:
public static $rulespwd = array('OldPassword' => 'required|pwdvalidation',
'NewPassword' => 'required|confirmed|min:1|max:10',
'NewPassword_confirmation' => 'required',
);
这是我用于验证的控制器代码:
$PasswordData = Input::all();
Validator::extend('pwdvalidation', function($field, $value, $parameters)
{
return Hash::check($value, Auth::user()->password);
});
$messages = array('pwdvalidation' => 'The Old Password is Incorrect');
$validator = Validator::make($PasswordData, User::$rulespwd, $messages);
if ($validator->passes())
{
$user = User::find(Auth::user()->id);
$user->password = Input::get('NewPassword');
$user->save();
return Redirect::to('changepassword')->with('Messages', 'The Password Information was Updated');
}
注意:我正在使用验证规则模型。我如何在模型中执行此操作??
只需使用 different
验证规则 - as described in the Laravel docs
public static $rulespwd = array('OldPassword' => 'required|pwdvalidation',
'NewPassword' => 'required|confirmed|min:6|max:50|different:OldPassword',
'NewPassword_confirmation' => 'required',
);
此外 - 为什么 将密码限制为 10 个字符?这很愚蠢——根本没有理由限制它。您所做的一切都是在降低您的应用程序安全性。
我正在使用确认密码检查旧密码和新密码。
这里我想检查旧密码和新密码是否不应该相同。
我该怎么做?
这是我的规则:
public static $rulespwd = array('OldPassword' => 'required|pwdvalidation',
'NewPassword' => 'required|confirmed|min:1|max:10',
'NewPassword_confirmation' => 'required',
);
这是我用于验证的控制器代码:
$PasswordData = Input::all();
Validator::extend('pwdvalidation', function($field, $value, $parameters)
{
return Hash::check($value, Auth::user()->password);
});
$messages = array('pwdvalidation' => 'The Old Password is Incorrect');
$validator = Validator::make($PasswordData, User::$rulespwd, $messages);
if ($validator->passes())
{
$user = User::find(Auth::user()->id);
$user->password = Input::get('NewPassword');
$user->save();
return Redirect::to('changepassword')->with('Messages', 'The Password Information was Updated');
}
注意:我正在使用验证规则模型。我如何在模型中执行此操作??
只需使用 different
验证规则 - as described in the Laravel docs
public static $rulespwd = array('OldPassword' => 'required|pwdvalidation',
'NewPassword' => 'required|confirmed|min:6|max:50|different:OldPassword',
'NewPassword_confirmation' => 'required',
);
此外 - 为什么 将密码限制为 10 个字符?这很愚蠢——根本没有理由限制它。您所做的一切都是在降低您的应用程序安全性。