2009-04-18 4 views
0

Я работаю над процессом регистрации и хочу проверить, совпадают ли два пароля (пароль + повторно введенный пароль). Это мои правила проверки в модели пользователя:Cakephp - checkPasswords всегда false

var $validate = array(
    'username' => array( 
      'notEmpty' => array( 
        'rule' => array('minLength', 5), 
        'required' => true, 
        'allowEmpty' => false, 
        'message' => 'User name has to be at least 5 characters long' 
       ), 
     array(
      'rule' => 'isUnique', 
      'message' => 'User name taken. Use another' 
     ) 
    ), 
    'password' => array(
       'notEmpty' => array( 
        'rule' => array('minLength', 6), 
        'required' => true, 
        'allowEmpty' => false, 
        'message' => 'Password has to be at least 6 characters long' 
     ), 
     'password_similar' => array( 
        'rule' => 'checkPasswords', 
        'message' => 'Entered passwords does not match' 
      ) 
    ), 
    'email' => array(
     'rule' => 'email', 
     'required' => true, 
     'allowEmpty' => false, 
     'message' => 'Please enter a valid email' 
    ) 
); 

В users_controller.php У меня есть checkPasswords функцию:

function checkPasswords($data) { 
    if($data['password'] == $this->data['User']['password2hashed']) 
     return true; 
     else 
     return false;  
} 

моя функция singup выглядит следующим образом:

function signup(){ 
    if (!empty($this->data)) { 
     if(isset($this->data['User']['password2'])) 
       $this->data['User']['password2hashed'] = $this->Auth->password($this->data['User']['password2']); 


    $this->User->create(); 

    if ($this->User->save($this->data)) { 
. 
. 
. 
} 

Независимо от того, что я делаю, пароли не совпадают. Даже если бы я изменить функцию checkPasswords к этому:

function checkPasswords($data) { 
    return true; 
} 

Что может вызвать такое поведение?

ответ

0

OMG Я только что понял, что функция checkPasswords не должна находиться в контроллере, а в модели. Проблема решена, мне стыдно ...

 Смежные вопросы

  • Нет связанных вопросов^_^