(TДT)のテンパリ日記

2007-11-22

[]DyanmicValidation 12:31

DyanmicValidationとはフィールドにかけるValidatorを動的に変更機能で

使用方法は以下の通り。

[hoge.html]

<input type="text" id="hoge"/><br/>
<input type="text" id="moge"/>

[HogePage.java]

@Required // ←動的なValidatorが定義されている場合無視される
private String hoge;
private String moge;
//JSFの暗黙オブジェクトのリクエストパラメータ
private Map param;

public Validator getHogeValidator(){
 ValidatorChain chain = new ValidatorChain();
 String paramMoge = (String)this.getParam().get("fugaForm:moge");
 // mogeが入力されていたら
 if(paramMoge != null){
  chain.add(new TRequiredValidator());
 }
 return chain;
}

※動的バリデーションが動作しているタイミングではPageクラスに値がセットされていないため、

 必要な場合はリクエストパラメータから値を直接取得する必要がある。

以上

トラックバック - http://d.hatena.ne.jp/Leblanc/20071122/1195702264
Connection: close