I never used the identical validator before but my first thought was that it
should be something like this:

$password = self::createElement('text', 'newpassword');
                 ->setRequired(true)
                 ->setLabel('Password');
$password1 = self::createElement('text', 'newpassword1');
                 ->addValidator('identical', true, array('newpassword')
                 ->setRequired(true)
                 ->setLabel('Check password');

In my opinion the third paramter should be the form-element-name. But if you
check the code of the validator, the third parameter is the value you check.
That's why you have to post 2 times. First you post your newpassword field,
and pass it again to the form. Then the third parameter of the validator can
be set.

What you could do is this:

$password = self::createElement('text', 'newpassword');
$password->setRequired(false)
               ->setLabel('password');
$password1 = self::createElement('text', 'newpassword1');
$password1->addValidator('identical')
                 ->setRequired(true)
                 ->setLabel('check password');

and just before your isValid:

$validator = $form->getElement('newpassword1')->getValidator('identical');
$validator->setToken($this->_request->getPost('newpassword'));

-----
visit my website at  http://www.phpscriptor.com/ http://www.phpscriptor.com/ 
-- 
View this message in context: 
http://www.nabble.com/Zend_Form---Identical-Validator-and-comparing-form-fields-tp21295103p21296119.html
Sent from the Zend Framework mailing list archive at Nabble.com.

Reply via email to