在Laravel中提交表单之前确认密码

时间:2015-01-10 06:15:21

标签: javascript php forms laravel modal-dialog

我正在使用Laravel 4.2,我希望在表单提交之前确认用户的密码,而不是进行实际提交。如果密码匹配,请执行提交;如果没有,保持在同一页面而不进行重新加载,有可能吗?

我该怎么做?

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提交的表单。