我正在使用Laravel 4.2,我希望在表单提交之前确认用户的密码,而不是进行实际提交。如果密码匹配,请执行提交;如果没有,保持在同一页面而不进行重新加载,有可能吗?
我该怎么做?
答案 0 :(得分:1)
在您的模型中添加:
public function afterValidate() {
if (count($this->errors()->toArray())==0 && !empty($this->password) && $this->password!=$this->getOriginal('password')) {
$this->password = Hash::make($this->password); // encrypting the password
unset($this->password_confirmation); // dropping password confirmation field
}
}
这在您的规则中:
'password' => 'Required|alpha_num|between:6,12|confirmed',
'password_confirmation' => 'Required|alpha_num|between:6,12|same:password',
看,如果有帮助。
答案 1 :(得分:0)
获取提交按钮ID,使用您自己的代码覆盖onclick(),调出确认密码的模式,然后返回false,以便实际上不会提交表单。当用户在您的模态上单击“确定”时,如果密码匹配,则执行JS提交的表单。