Проверка CakePHP не работает с паролем

#php #cakephp

#php #cakephp

Вопрос:

Похоже, это всплывало несколько раз для других, но я не видел реального объяснения проблемы или того, что это за исправление.

Так что в принципе у меня есть некоторые подтверждения, такие как:

 var $validate = array(
    'password' => array( 
        'rule' => 'notEmpty',
        'message' => 'You must create a password'
    )
);
  

Однако:

1.) сообщение о проверке не отображается? 2.) и при обратной передаче поле пароля заполняется правилом проверки???

Кто-нибудь может помочь?

Спасибо

Ответ №1:

вы пробовали:

 var $validate = array(
    'password' => array( 
        'notEmpty' => array( 
            'rule' => 'notEmpty',
            'message' => 'You must create a password'
        )
    )
);
  

он использует полную структуру массива проверки.

также вы не должны использовать «пароль» в качестве имени. есть много хитростей, чтобы избежать проблем с этим, поскольку в cake1.2 происходит автоматическое включение, которое может вызвать странные вещи. Например, используйте pwd и установите для него значение password при сохранении.

совет: используйте для этого поведение: http://www.dereuromark.de/2011/08/25/working-with-passwords-in-cakephp / это избавит вас от многих хлопот

Комментарии:

1. «установите для него значение пароля при сохранении» можете ли вы объяснить, как я это сделаю?

2. Также, пока мы обсуждаем эту тему, не могли бы вы показать, сохраняю ли я PWD в качестве ПАРОЛЯ, как я мог бы иметь два поля пароля и убедиться, что они совпадают. Я полагаю, если вы сохраняете поле как другое, мне придется вручную выполнять хеширование?

3. вы можете создать новый ключ в массиве данных сохранения и передать ему старый … [‘password’] = … [‘pwd’]. посмотрите на мое поведение (ссылка, которую я вам дал. там включено правило соответствия поля пароля. и нет, поведение сделает это за вас 🙂

4. файл находится в github: github.com/dereuromark/tools/blob/master/models/behaviors /…

5. Хм, похоже, много работы и для того, что кажется ошибкой в CakePHP!