2012-04-13 30 views
9

我有zend框架控制器。 在init方法我創建了一個表格,連同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 2012-04-13 19:47:28

+0

也許該元素在FORM_NAME中設置爲必填項。 $ element-> setRequired(true)? – dimirc 2012-04-14 07:48:21

回答

17

要回答'爲什麼'的問題,你傾銷了表單錯誤消息嗎?

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

這可能至少會讓你更好地理解'爲什麼'。

+0

謝謝,它有時幫助 – 2012-04-14 09:22:38

+4

有時使用文件輸入沒有在窗體上設置enctype,導致此問題。 – 2013-07-13 11:37:12

+0

呃..你確定嗎?消息是空的,錯誤/ errorMessage甚至不作爲函數存在。 – Blauhirn 2017-01-14 02:39:16