0

3つのフィールドを持つフォームがあります(簡単な例)。

最初のものはチェックボックスです。

<ice:selectBooleanCheckBox value="#{backingBean.bean.visible}" ID="checkbox1" partialSubmit="true" >

2つ目は

<ice:inputText ID="text1">

3つ目も

<ice:inputText ID="text2" required="true" validator="mycustomvalidator">

text1は、checkbox1がチェックされている場合にのみ表示されます。text2は必須フィールドであり、customvalidatorが設定されています。

したがって、#{backingBean.bean.visible}を使用する最初のアプローチは失敗しました。これは、text2が必要であり、text2フィールドが空のときに検証メッセージが表示されたためです(チェックボックスがクリックされた後)。検証エラーのため、表示プロパティが設定されるようにフォームが完全に送信されることはありませんでした(モデルの更新フェーズに到達することはありませんでした)。

また、selectBooleanCheckBoxにimmediate = "true"を使用しようとしましたが、required = "true"の検証メッセージが消えただけで、mycustomvalidatorの検証がトリガーされました。

だから私の質問:checkbox1がクリックされたときにのみtext1が表示されるようにするにはどうすればよいですか?ありがとう。

4

1 に答える 1

0

ここで答えを出すには、要素の表示/非表示にクライアント側のJavascriptを使用するのが最善の解決策だと思います。

于 2010-04-01T08:40:35.617 に答える