2012-04-13 3 views
9

У меня есть контроллер рамки zend. В инициализации метода я создать форму и заполнить раскрывающийся сisValid в форме рамки zend возвращает FALSE

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

затем в действии я проверить

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

но isValid() возвращает FALSE если удалить эту строку $form->getElement('ZdGroup')->addMultiOptions($zendesk_groups); это возвращение TRUE.

Я не понимаю, почему, у кого-нибудь есть идея?

+1

Нам нужен ваш 'FORM_NAME()' класс, чтобы узнать, что делает ваша форма. – Liyali

+0

Возможно, этот элемент установлен в FORM_NAME. $ element-> setRequired (true)? – dimirc

ответ

17

Чтобы ответить на вопрос «почему», вы сбросили сообщения об ошибках формы?

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

Это может по крайней мере дать вам лучшее представление о «почему».

+0

Спасибо, он помог –

+4

иногда использовать входной файл без установки enctype в форме, вызывать эту проблему. –

+0

umm .. ты уверен? сообщения пустые, а ошибки/errorMessage даже не существуют как functino. – Blauhirn

Смежные вопросы