Jsf 2 特立尼达组件panelAccordion最小化或最大化时,验证错误消息消失

Jsf 2 特立尼达组件panelAccordion最小化或最大化时,验证错误消息消失,jsf-2,myfaces,trinidad,Jsf 2,Myfaces,Trinidad,我有一个很长的表格,但是一起提交和验证。我需要把它分成几个部分 我曾尝试使用特立尼达组件面板手风琴将表单分成多个部分 但是,如果我随后提交并验证表单,单击其中一个打开或关闭的面板会导致验证消息消失 有没有办法避免这种情况 或者有没有更好的方法来达到同样的结果,打破形式 我正在使用特立尼达1.2.6和MyFaces 2.0。 由于公司标准,我不能使用其他任何东西。实现所需效果的一种方法是在用户单击每个时提交表单。它支持许多其他组件,因此选择一个最适合您需要的组件。如果您提交整个表单,则无论用户是否

我有一个很长的表格,但是一起提交和验证。我需要把它分成几个部分

我曾尝试使用特立尼达组件面板手风琴将表单分成多个部分

但是,如果我随后提交并验证表单,单击其中一个打开或关闭的面板会导致验证消息消失

有没有办法避免这种情况

或者有没有更好的方法来达到同样的结果,打破形式

我正在使用特立尼达1.2.6和MyFaces 2.0。
由于公司标准,我不能使用其他任何东西。

实现所需效果的一种方法是在用户单击每个
时提交表单。它支持许多其他组件,因此选择一个最适合您需要的组件。如果您提交整个表单,则无论用户是否输入值,都将强制对所有组件进行验证。这可能是最快最简单的方法,但有些人可能会挑剔,不喜欢这种解决方案


您还可以根据您选择的事件使用并仅提交属于当前手风琴面板一部分的组件

我对提交活动的想法很感兴趣。。。我不确定它会有多实用(我们的验证需要一点时间,所以从用户的角度来看,它可能会很烦人或很慢),但我会试试看。至于使用部分触发器,我不确定,因为还有很多其他组件需要触发,验证是高度定制的,完全是服务器端的。我认为这对我来说既难看又慢(尽管它可能对其他人有用)。谢谢你的建议@如果验证需要一段时间,Laila部分更新可能是一种方法。我认为这将减少触发验证的组件数量,而不是所有组件。再说一次,我明白你的意思,如果有很多。老实说,我不太习惯我的脸,但也许你可以使用一个类似于
@的
,或者用
f:ajax
包装每个accordionPanel。这可能会让你从硬编码所有ID中解脱出来……也许吧。@Laila现在我很好奇。我看看能挖到什么。请随时向您通报您的进度,好吗?我最终使用了一个非特立尼达解决方案(纯Javascript和CSS选项卡更合适),但我会将此标记为答案,因为这似乎是使用给定框架实现我想要的目标的唯一方法。