2011-11-12 24 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。我会试试:) –

相关问题