Zend Идентичная проблема валидатора, если оставить один элемент пустым - PullRequest
0 голосов
/ 11 сентября 2011

Я использую следующий код:

$form->addElement('password', 'elementOne');
$form->addElement('password', 'elementTwo', array(
    'validators' => array(
        array('identical', false, array('token' => 'elementOne'))
    )
));

Если оба текста отличаются, я получаю ошибку от валидатора, но если я оставляю второй пустой, проверка не сработает. почему?

(я не хочу ставить поля по мере необходимости, потому что пользователь должен заполнять их, только если он хочет изменить пароль, но он также может оставить их пустыми)

Что я делаю не так? я должен поставить валидатор на обоих элементах?

Ответы [ 2 ]

1 голос
/ 11 сентября 2011

Проблема заключалась в флаге AllowEmpty (когда элемент не требуется, этот флаг устанавливается в значение true). Я установил значение false, и теперь валидатор запускается, как и ожидалось.

setAllowEmpty (ложь)

0 голосов
/ 11 сентября 2011
$form->addElement('password', 'elementOne');
$form->addElement('password', 'elementTwo', array(
    'validators' => array(
        array('identical', false, array('token' => $_POST['elementOne']))
    )
));
...