如何在cakephp3中确认密码

时间:2016-03-03 13:11:50

标签: validation cakephp-3.0

我使用了这种方法,但它没有用,我有一个错误方法confirmPassword不存在  这是我的代码 在add.ctp

 echo $this->Form->input('password');
 echo $this->Form->input('password2');

在usersTable中

$validator
    ->requirePresence('password', 'create')
    ->notEmpty('password')
    ->add('password','minLength',[
        'rule'=>['minLength',6],
        'message'=>'Vous devez entrer un mot de passe plus que 6 caractéres'
    ])
    ->requirePresence('password2')
    ->add('password2','custom',[
        'rule'=>'confirmPassword',
        'message'=>'votre confirmation n est pas valide']);

我在usersTable中实现了函数confirmPassword()

 public function confirmPassword() {
        if ((isset($this->data[$this->alias]['password']) && isset($password['password2']))
            && !empty($password['password2'])
            && ($this->data[$this->alias]['password'] === $password['password2'])) {
            return true;
        }
        return false;
}

1 个答案:

答案 0 :(得分:0)

您可以在用户控制器中调用函数confirmPassword(),如果为true,则继续。 在控制台中添加以下内容。

$this->Users->confirmPassword()