分组JSF错误消息

时间:2010-10-01 11:11:51

标签: jsf

我必须将表单中的日期输入分为3个不同的部分,日,月和年。此时,如果所有三个字段都出现错误,则会显示3条错误消息。我想知道是否有办法将这些错误消息分组?因此,如果一个或多个字段出现错误,则只会显示一条错误消息。或者在那里检查消息的内容,我只能在其他消息为空时呈现消息

   

 

 

感谢您的时间。

2 个答案:

答案 0 :(得分:1)

标准JSF API不提供此功能。你要寻找另一种解决方案。我至少看到两个基本解决方案:

  1. 实现一个自定义转换器/验证器,它拦截所有三个字段,并且只在组中至少有一个字段出错时才转换/验证。您可以在this answer

  2. 中找到示例
  3. PhaseListener beforePhase RENDER_RESPONSE期间,您自己在{{3}}内对某些自定义结构中的所有邮件进行分组。然而,这会将您的代码与默认的JSF消息处理分离,这可能会导致长期的维护问题。

  4. 更多细节取决于功能要求以及您目前所处的内容,目前尚不清楚。无论何时需要更多细节,都可以发表评论。

答案 1 :(得分:1)

一种简单的方法是为所有三个日期字段(月,日和年)设置一个验证器。在此验证器内部显示单个上下文消息。

在JSF页面中添加第四个输入隐藏字段以及<h:message />以显示有关日期中错误的错误消息。在验证器中使用此输入隐藏字段的“id”来获取错误消息。