验证其他字段后,所选文件将消失

时间:2011-11-12 00:19:50

标签: jsf richfaces

我正在使用带有3个标签的<rich:tabpanel>。在第二个标签中,我有3个<rich:fileUpload>个组件。所有3个字段都是强制性的。因此,我在提交页面内容时在辅助bean中执行验证。

如果我在其中一个文件上传组件中选择一个文件并将其他2个空,那么我会按预期获得2个空组件的验证消息。但是,即使文件内容仍存储在辅助bean的属性中,第一个组件也会重新呈现并且不保留所选文件。

如何在重新渲染时保留所选文件?

1 个答案:

答案 0 :(得分:1)

只是不要重新渲染输入字段本身,而只重新渲染验证消息的持有者。您可以使用<a4j:commandButton>执行此操作,其中您在reRender属性中指定消息组件的ID(我假设您使用的是RichFaces 3.3,而不是4.0,因为它不是默认情况下可以在当前4.0中为文件上传选择单个文件。

请注意,您无需在操作方法中验证要求。只需在输入组件上设置required="true"即可。