2011-04-06 25 views
3

有問題。表單isValid()在可選文件elem時返回false。存在於控制器中的zend

if ($form->isValid($formdata)) 

這是我的代碼Zend_Form的代碼

$document = $this->addElement('file','orglogo'); 
    $document = $this->getElement('orglogo')      
         ->removeDecorator('label') 
         ->addValidator('Extension', false, array('jpg,png,gif,jpeg')) 
         ->setRequired(true) 
         ->addErrorMessage('Please upload a valid File (jpg,png,gif,jpeg)'); 

它顯示錯誤

文件 'orglogo' 超過定義的INI大小

我如何解決這個錯誤。


Hurrrrrrrrrrrrrray!

最後我得到了解決方案。

在表單中添加enctype =「multipart/form-data」。

希望這會幫助別人。

Cheeeeeeeers, Sathish所在

+0

爲什麼你驗證兩次?由於數據在輸入時被驗證,所以當您從數據庫讀取數據時不需要再次驗證它。如果我錯了,請編輯您的問題並提供更多信息。 – 2011-04-06 05:18:09

+0

傻我忘了添加enctype,當呈現與窗體相關聯的phtml視圖時,小而關鍵的組件。 – KidCache 2014-02-01 14:59:46

回答

0

如果表單錯誤陣列是空的,則它可能是與設定從數據元素的值的問題。

couchdb中的列名是否與表單中元素的名稱匹配?如果沒有,那麼它可能甚至不試圖驗證每個元素,因爲分配元素的值是失敗的。

+0

我得到這個錯誤「File'orglogo'超出了定義的ini大小」。 – 2011-04-07 04:18:57

0

當用戶提交表單時,如果用戶沒有選擇任何文件,則$data['filename_element']不存在,但是如果您取得數據庫行,則將始終有一個長度爲0的字符串$data['filename_element']

對用戶提供的數據和數據庫行都執行exit(var_dump($data));,您將看到不同之處。 P.S. 'filename_element'需要替換爲您的文件元素的ID。

+0

當我提交時,我得到這個錯誤「File'orglogo'超出了定義的ini大小」。我該如何解決這個問題。 – 2011-04-07 04:19:34

相關問題