我在我的页面上有一些我想交叉验证的字段。但我不希望此验证的错误显示在此字段的<h:message>
中。验证字段并在JSF中抛出异常,但将错误消息附加到另一个字段?
如果我将验证程序添加到任何字段,并且验证程序引发异常,则此字段的错误显示在<h:message>
中。另一方面,如果我想抑制页面提交,我必须抛出异常。只显示一些错误信息是不够的。
所以我在窗体上创建了一些隐藏字段,并在那里附加了验证器。此验证程序可以访问我想验证的字段的UIComponents,以便验证它们。当验证器抛出异常时,错误在<h:message>
中显示隐藏字段,我可以将它放置在我想要的任何位置。
一切工作,如果我把隐藏的领域后,我想验证的领域。 (如果我把它放在前面,即使我的字段的UIComponent被更新也会触发隐藏字段验证)。
问题是这是讨厌的黑客:)有没有更好的方法来做到这一点?
好吧,看起来我仍然需要隐藏字段来验证其他字段。感谢您的“getSubmittedValue()”提示! – amorfis 2010-12-14 21:24:39
不客气。 – BalusC 2010-12-14 21:27:35