簡體   English   中英

symfony2 - 文件上傳因表單錯誤而丟失

[英]symfony2 - file upload lost upon form error

我已經按照教程: http//symfony.com/doc/current/cookbook/doctrine/file_uploads.html

但是當我上傳文件時我遇到問題處理情況,但是其他字段不符合驗證標准,並且用戶被指示修復表單錯誤。 然后,當用戶修復問題並點擊提交按鈕時,他不再擁有表單中的有效圖像,並顯示丟失的文件錯誤。

我准備了一個小示例項目來說明這種行為:

https://github.com/Jaslanin/sf_upload_form_error

重現此行為的步驟:

  1. 在瀏覽器中打開web / dir項目
  2. 在名稱字段中輸入字符串“123”
  3. 設置文件字段的圖像文件
  4. 點擊提交按鈕
  5. 將名稱字段更改為“123456”
  6. 點擊提交按鈕
  7. 觀察該表單缺少文件錯誤

現在我使用“如何使用Doctrine處理文件上傳”教程中的步驟處理此問題,但不使用lifecyclecallbacks。 我運行 - >手動上傳,如果會話中存在錯誤存儲文件路徑。

它有效,但我正在為這個問題尋找更清晰的解決方案。

在頁面上呈現表單時,所有輸入字段都使用實體或數組中的值填充。 這里的關鍵是你沒有數據來預先填充文件輸入字段。 所以它呈現為空輸入。 當用戶點擊步驟6提交時,沒有選擇/上傳文件。 在這種情況下,具有會話存儲的上載文件路徑的解決方案是正確的解決方案。 我還建議您向用戶顯示,當會話中有一個文件時,已經提交了一些文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM