2011-06-01 56 views
7

我有一個表格,其中有FileField等字段。想象一下,用戶選擇一個文件,按提交,另一個字段觸發ValidationError。 當我找回表單時,頁面上出現錯誤,用戶爲文件字段選擇的內容消失了。我可以讓它出現,還是這是一個瀏覽器的東西?如何將上傳的圖片「保留」在表單驗證錯誤上?

回答

7

這是一個瀏覽器的東西 - 爲了安全起見,您不能預填充文件輸入,否則會很容易誘騙用戶上傳從他們的系統文件,沒有他們的明確行動。

+0

因此,每次,如果您犯了一個錯誤(客戶端驗證無法捕捉到),您將不得不再次上傳? – Geo 2011-06-01 10:32:55

+1

如果有一個字段需要服務器端驗證(例如檢查用戶名),爲什麼不使用ajax來驗證? – 2011-06-01 11:35:18

+0

@Daniel Roseman,那麼我們能做些什麼來防止再次上傳文件呢?我從來沒有這樣做過,但是由於我們可以將上傳的文件保存在服務器中(通過將它從臨時目錄移動到其他地方),我們可以通過某種方式將上次試用期間上傳的文件與下次試用期間的文件關聯起來正確填寫表單沒有任何驗證錯誤?如果我們能以某種方式做到這一點,我們會考慮已經上傳的文件並相應地處理它。 – 2013-03-14 19:14:12