2012-04-13 19 views
9

Ho un controller zend framework. Nel metodo init creo un modulo e riempire la casella a discesa conisValid nel modulo Zend restituisce FALSE

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

poi in azione i check

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

ma isValid() rendimenti FALSE se elimino questa linea $form->getElement('ZdGroup')->addMultiOptions($zendesk_groups); è di ritorno TRUE.

Non capisco perché, qualcuno ha un'idea?

+1

Abbiamo bisogno della tua classe 'FORM_NAME()' per sapere che cosa sta facendo il tuo modulo. – Liyali

+0

Forse quell'elemento è impostato su richiesto su FORM_NAME. $ element-> setRequired (true)? – dimirc

risposta

17

Per rispondere alla domanda "perché", hai scaricato i messaggi di errore del modulo?

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

che potrebbe almeno dare una migliore idea del 'perché'.

+0

Grazie, ha aiutato –

+4

a volte utilizzando l'input di file senza impostare enctype sul modulo, causa questo problema. –

+0

umm .. sei sicuro? i messaggi sono vuoti e error/errorMessage non esiste nemmeno come functino. – Blauhirn

Problemi correlati