Проверять составленные поля в CakePHP? - PullRequest
0 голосов
/ 03 мая 2010

Вот мой сценарий: Я создаю страницу смены пароля. реальное поле с паролем - User.password

На странице создания пароля я использовал 3 поля: $ Форма-> вход ( 'User.old_passwd'); $ Форма-> вход ( 'User.new_passwd'); $ Форма-> вход ( 'User.confirm_new_passwd');

Как мне проверить их по правилам:

  • старый пароль должен совпадать с User.password
  • new_passwd и verifynew_passwd должны быть равным

Есть ли лучшие решения для этого? Я открыт для предложений. Спасибо!

1 Ответ

1 голос
/ 04 мая 2010

Встроенный компонент аутентификации не предлагает такую ​​функциональность. Я хотел бы указать правила проверки для ваших «составленных» полей в свойстве validate модели и написать свои собственные методы проверки, например: correctPassword(), чтобы гарантировать, что пользователи вводят свой старый пароль, и matchingPasswords(), чтобы гарантировать что новый пароль был введен правильно.

var $validate = array(
    // your existing validation rules
    'old_passwd' => array(
            'rule' => 'correctPassword',
            'message' => 'invalid password'
    ),
    'new_passwd' => array(
            'rule' => array('minLength', 8),
            'message' => '8 characters minimum';
    ),
    'confirm_new_passwd' => array(
            'rule' => 'matchingPasswords',
            'message' => 'passwords do not match'
    )
);

function correctPassword($check) { }
function matchingPasswords($check) { }

См. Поваренную книгу для получения дополнительной информации о пользовательских правилах проверки .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...