我有一个很长的表单,但它是一起提交和验证的。我需要把它分成几个部分。
我曾尝试使用特立尼达组件面板Accordion将表格分成多个部分。
但是,如果我随后提交并验证表单,单击其中一个打开或关闭的面板会导致验证消息消失。
有什么办法可以避免这种情况吗?
还是有更好的方法来达到同样的效果,打破形式?
我正在使用特立尼达1.2.6和MyFaces2.0。由于公司的标准,我不能使用其他任何东西。
实现所需效果的一种方法是在用户单击每个<tr:accordionPanel>
时提交表单。它支持许多其他客户端活动,因此请选择最适合您需求的活动。如果您提交了整个表单,那么无论用户是否输入了值,都将强制对所有组件进行验证。这可能是最快、最简单的方法,但有些人可能会挑剔,不喜欢这种解决方案。
您还可以使用部分更新和部分触发器,并根据您选择的事件仅提交作为当前手风琴面板一部分的组件。