0

コンポーネントに検証メッセージを追加しています。いくつかの入力があり、これらすべてのコンポーネントの上に宣言されている非表示の入力に接続されたバリデーターでそれらをまとめて検証しています。検証が失敗するたびに、同じメッセージが追加され続けることがわかります。

「 input x greater than input Y 」のようなメッセージが1 回表示されるはずなのに 2 回表示されます。次に、エラー値を修正すると、エラーはなくなりました。次に、意図的に同じエラー値をもう一度挿入します。その後、上記のエラー メッセージが3回表示されます。

以前のリクエストからメッセージをクリアするにはどうすればよいですか?

これが不自然な関連コードです。

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