2012-01-24 69 views
0

在我的模塊中,我創建了一個具有驗證和提交處理程序的表單。第一個字段是文本輸入字段,第二個字段是文件上傳字段。Drupal 7表單提交處理程序不執行

我的驗證處理程序正在調用並退出罰款。我的提交處理程序從不執行我被帶回到我的表單中,錯誤地抱怨我需要在我的上傳字段中輸入值(因爲我將其設置爲必需)。

我是Drupal的新手。

回答

0

在Drupal 6中,不需要文件上傳字段。你應該設置required = false,否則你會得到這個錯誤。我認爲它在Drupal 7中是一樣的。您應該在驗證處理程序中編寫自己的代碼來檢查文件是否已上傳。

+1

此外,您可以使用** managed_file **元素類型而不是**文件**,它可以幫助您擺脫所有的上傳管理內容。 這裏是drupal文檔:http://api.drupal.org/api/drupal/developer--topics--forms_api_reference.html/7#managed_file –

+0

managed_file元素的優點是什麼?對於這個表單,我正在上傳,調用file_save_upload(),取回fid,將其填充到我的form_state中,以便我可以在提交處理程序中處理它。 – vintorg

+0

將字段設置爲required = FALSE工作!謝謝! – vintorg

相關問題