10
votes

I have zend framework controller. In init method i create a form and fill the drop-down box with

$form = new FORM_NAME();
$form->getElement('ZdGroup')->addMultiOptions($zendesk_groups);

then in action i check

$formData = $this->getRequest()->getParams();
    if ($form->isValid($formData)) {
        ...
}

but isValid() returns FALSE if I delete this line $form->getElement('ZdGroup')->addMultiOptions($zendesk_groups); it return TRUE.

I don't understand why, does anybody have an idea?

1
We need your FORM_NAME() class to know what your form is doing. - Liyali
Maybe that element is set to required at FORM_NAME. $element->setRequired (true)? - dimirc

1 Answers

19
votes

To answer the question of 'why', have you dumped the form error messages?

$form->getMessages(); //error messages
$form->getErrors(); //error codes
$form->getErrorMessages(); //any custom error messages

That might at least give you a better idea of 'why'.