2010-04-19 90 views
0

當前在我的應用程序中,我有一個表單,我要求用戶上傳要用作徽標的圖像文件。我想讓用戶通過不提供文件(只需按瀏覽器上的上傳按鈕)將其重置爲空。在Zend Framework上掛起文件驗證

在這種情況下,唯一剩下的就是在沒有文件包含時暫停文件驗證。 目前我從Zend_Validate_File_Upload類中得到了self :: NO_FILE錯誤。

有什麼辦法暫停驗證,以便在沒有提供文件的情況下不會檢查什麼?

回答

0

在我的知識中禁用驗證器內的特定驗證是不可能的。你將不得不繼承它並修改相應的部分。然而,我假設你正在檢查,如果表單有效與一些控制器像

$form->isValid(// ... 

如果是這樣,你可以檢查哪些錯誤是與Zend_FormgetErrors()方法的驗證失敗返回。如果那是NO_FILE那麼,將動作轉發到重置徽標的動作。

個人而言,我會找一個專門的按鈕來刪除標誌,但更好的選擇。

+0

有一個專門的按鈕,刪除標誌,正是我認爲寫後,幾個小時後。我認爲這是更直觀的解決方案。 但暫停會很好,舉個例子,你可以選擇添加你的頭像。 – 2010-04-20 08:44:25

+0

@dimitris我還沒有使用ZF上傳表單元素,但沒有通過只設置'必需'到表單元素來實現它嗎? – Gordon 2010-04-20 09:21:02

+0

我試過但沒有工作,實際上發生了同樣的錯誤(沒有區別)我實現了「新按鈕」方法,這種方式解決了我的問題。我明天會再試一次。 – 2010-04-20 17:19:52