2012-04-13 13 views
9

Tengo zend framework controller. En el método init i crear un formulario y llenar la caja desplegable conisValid en el formulario zend framework devuelve FALSE

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

continuación, en la acción verifico

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

pero isValid() vuelve FALSE si elimino esta línea $form->getElement('ZdGroup')->addMultiOptions($zendesk_groups); que regreso TRUE.

No entiendo por qué, ¿alguien tiene una idea?

+1

Necesitamos su clase 'FORM_NAME()' para saber qué está haciendo su formulario. – Liyali

+0

Quizás ese elemento esté configurado como obligatorio en FORM_NAME. $ element-> setRequired (true)? – dimirc

Respuesta

17

Para responder a la pregunta de 'por qué', ¿ha dejado los mensajes de error del formulario?

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

Eso al menos podría darle una mejor idea de 'por qué'.

+0

Gracias, ayudó –

+4

a veces utilizando la entrada de archivos sin establecer enctype en el formulario, causa este problema. –

+0

umm ... ¿estás seguro? mensajes está vacío y errors/errorMessage ni siquiera existe como un functino. – Blauhirn