【问题标题】:Grouping JSF error messages对 JSF 错误消息进行分组
【发布时间】:2010-10-01 11:11:51
【问题描述】:

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

感谢您的宝贵时间。

【问题讨论】:

    标签: jsf


    【解决方案1】:

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

    1. 实现一个自定义转换器/验证器,该转换器/验证器拦截所有三个字段,并且在组的至少一个字段出现错误时不进行转换/验证。您可以在this answer 中找到示例。

    2. 在beforePhase 或RENDER_RESPONSE 期间,您自己将某个自定义结构中的所有消息分组到PhaseListener。但是,这会将您的代码与默认的 JSF 消息处理分离,这可能会导致长期维护问题。

    更多细节取决于功能要求和您目前为止的内容,目前尚不清楚。当您需要更多详细信息时,请留下更详细的评论。

    【讨论】:

      【解决方案2】:

      一个简单的方法是为所有三个日期字段(月、日和年)设置一个验证器。在这个验证器中显示一条上下文消息。

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

      【讨论】:

        猜你喜欢
        • 2011-03-12
        • 2014-09-11
        • 2012-08-19
        • 1970-01-01
        • 1970-01-01
        • 2011-07-10
        • 2019-11-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多