zend validation messages -


consider following part of form

    $name = new zend_form_element_text('name');     $name->setlabel('name: ')                              ->setrequired(true)                              ->addvalidator($empty)                              ->addvalidator($alpha)              ->setdecorators($newdecorators);     $this->addelement($name); 

i defined $empty , $alpha as:

        $empty = new zend_validate_notempty();         $empty->setmessage('some text',  zend_validate_notempty::is_empty);          $alpha = new zend_validate_alpha();         $alpha->setmessage('some text',zend_validate_alpha::not_alpha); 

now question:

with code double validation message when input empty. first custom message , then: '' empty string when drop setrequired, empty validator not run. why this? don't want use setrequired, because if add errormessage setrequired, $alpha error message overwritten.

thx, j

this happens because default behaviour check against validators assigned element, if 1 of prior validations fails.

luckily quite easy prevent this: in addvalidator method can pass second parameter $breakchainonfailure stops further validation upon failure if set true.

so in example gave, need set second parameter true:

$name = new zend_form_element_text('name'); $name->setlabel('name: ')                          ->setrequired(true)                          ->addvalidator($empty, true)                          ->addvalidator($alpha, true)          ->setdecorators($newdecorators); $this->addelement($name); 

and 1 error message displayed in case enter empty string.

for further information refer zend framework documentation on validator chains.


Comments

Popular posts from this blog

java - Play! framework 2.0: How to display multiple image? -

gmail - Is there any documentation for read-only access to the Google Contacts API? -

php - Controller/JToolBar not working in Joomla 2.5 -