2012-06-21 38 views
0

好吧,所以我在用戶在我的網站上註冊時上傳文檔,我收集了一些個人信息並保存。現在我遇到了一些問題,我將主註冊表分成幾個視圖,用戶登錄後可以編輯某些信息,例如一個名爲personal_introduction的字段。出於某種原因,這不會保存,即使在該字段上沒有驗證錯誤。在模型周圍亂七八糟,嘗試拿起問題,發現那位這會導致問題:CakePHP使用uploadedit驗證時,保存失敗

'document_file' => array(
     'checkuploadedit' =>array(
      'rule' => array('checkUpload', false), 
      'message' => 'Please select your document.',    
     ), 
     'checkuploadedit' => array(
      'rule' => array('extension', array('doc', 'docx', 'txt', 'rtf')), 
      'message' => 'File extentions allowed: .doc .docx .txt .rtf - we do NOT accept pdf format.' 
     ) 
    ), 

一旦我從我的模型刪除此,它保存的數據。現在它對我來說很奇怪,主註冊表格沒有問題,而且這個視圖甚至沒有包含名爲「document_file」的表單輸入,因此保存失敗。

任何想法...請!很顯然,我需要驗證上傳。

我試過這個:validation on a input file in cakephp,認爲上面的代碼可能不正確,仍然沒有運氣。

在此先感謝您的答案。

乾杯路易斯。

+0

當你保存時正在執行checkUpload? – Leo

+0

請說明你的意思,以及我可以如何檢查它。 –

+0

那麼checkUpload是您創建的自定義驗證規則。查一下死亡('這裏')或其他東西,看它是否被執行。然後我們必須看看$ this-> request-> data和函數本身的內容。 – Leo

回答

0

我繼續進一步調查問題,發現了以下內容,我仍然無法解釋。在同一模型中提交不包含上傳表單的視圖時,它仍會嘗試驗證上傳表單,實際上我可以看到提交的值,即使它不是。所以我得到的唯一解決方案是使用未設置($ this-> data ['user'] ['document'])爲沒有文檔上傳表單字段的操作。希望這是有道理的。