0

我正在向我的组件添加验证消息。我有许多输入,然后我在附加到隐藏输入的验证器中一起验证它们,该隐藏输入在所有这些组件之上声明。我看到每次验证失败时,都会不断添加相同的消息。

像“输入 x 大于输入 Y ”这样的消息会显示两次,即使它应该显示一次。然后我更正错误值,它就消失了。接下来我故意再次插入相同的错误值。然后我会看到上面的错误信息三遍

如何清除先前请求中的消息?

这是人为的相关代码:

if (all condition passes) {
    for(UIInput:components){
        input.setValid(true);
    }


} else {
      //Find out the first component that fails the validation and mark it red
      FacesContext context = FacesContext.getCurrentInstance();
      UIInput input= components.getInvalidComponent();
      input.setValid(false);
      context.addMessage(input.getClientId(context),message) ;                           
    }

PS:我正在使用JSF1.2

4

0 回答 0