2011-11-12 57 views
0

我正在使用帶有3個選項卡的<rich:tabpanel>。在第二個選項卡中,我有3個<rich:fileUpload>組件。所有3個字段都是強制性的。因此,我在提交頁面中的內容時在後臺bean中執行驗證。所選文件在驗證其他字段後消失

如果我在其中一個文件上傳組件中選擇了一個文件並將其他2個空白,那麼我將按照預期得到2個空組件的驗證消息。但是,即使文件內容仍存儲在後臺Bean的屬性中,第一個組件也會重新呈現並且不保留選定的文件。

如何在重新呈現時保留所選文件?

回答

1

只是不重新呈現輸入字段本身,而只是驗證消息的持有者。你可以用<a4j:commandButton>這樣做,其中你指定reRender屬性中的消息組件的ID(我假設你使用的是RichFaces 3.3,而不是4.0,因爲默認情況下可以選擇一個文件文件上傳在當前4.0)。

請注意,您無需驗證操作方法中的要求。只需在輸入組件上設置required="true"就足夠了。

+0

感謝BalusC。大風扇:)這是否適合富文件工作:fileUpload呢?我會再試一次。我沒有做任何特定的重新渲染。我有一個用於提交,並且一旦我提交新的組件出現,再次感謝您寶貴的時間。 –

+0

噢,我的錯誤,因爲你使用的是RichFaces,我預計你正在使用''進行Ajax提交和重新渲染。我編輯了答案。 – BalusC

+0

非常感謝BalusC。我會試試:) –

相關問題