【问题标题】:JSF - Prevent validationFailed when raising a WARN ValidatorExceptionJSF - 引发 WARN ValidatorException 时防止验证失败
【发布时间】:2010-12-31 13:49:08
【问题描述】:

我有一个表单,它的字段使用验证器。这些验证器可以发回 Severity.SEVERITY_ERROR 或 Severity.SEVERITY_WARN 消息,如图所示:

if (!isInMainFamily) {
    FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_WARN, "You should make sure to tag your competency in at least one main category", null);
    throw new ValidatorException(message);
}

但是,SEVERITY_WARN 消息不会阻止我。它们只是告诉用户他们应该更正输入的一种方式,但不会阻止他们提交表单和保存数据。

但是,似乎抛出任何类型的 ValidatorException 都会将 FacesContext 标记为“validationFailed”,从而阻止提交表单。

有没有办法解决这个问题?还是我误会了什么?

非常感谢您的帮助,
塞巴斯蒂安

【问题讨论】:

    标签: jsf validation


    【解决方案1】:

    您想add the message to the context 而不是将其作为ValidatorException 抛出。这是将输入标记为无效并因此阻止表单提交的异常。

    context.addMessage(component.getClientId(), message);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-13
      • 2016-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多