[Seasar-user:3904] [S2Struts] ネストしたフォームに対するバリデーションの適用方法

Shunsuke Yokoi [E-MAIL ADDRESS DELETED]
2006年 6月 19日 (月) 23:50:39 JST


横井と申します。

S2Strutsのアノテーションによるバリデーションについての質問です。
ネストしたフォームに対してバリデーション定義を適用する場合、
どのような記述をすればよいのでしょうか?

ChangeLogを見たところ
S2Struts 1.2.0 にて
「Validatorアノテーションを配列、ネストしたオブジェクトに対応しました。」
とあったのですが、
ドキュメントやサンプルを参照しても
具体的にどう書けばいいのかわかりませんでした。

Struts標準のValidatorではvalidWhenなどを使えば
ネストしたフォームにもバリデーションの定義を使えるようですが、
できればS2Strutsのアノテーションを使用したいと考えているところです。


↓以下のような感じでParentFormのバリデーション実行時に
ネストしているNestedFormのnestVal01の値のチェックをしたいのですが・・・
///////////////////////////////////////////////////////
//親のフォーム
public class ParentForm extends ValidatorForm {

 public List<NestedForm> nestedFormList
  //jakarta commonsのLazyList
  = new HogeLazyList<NestedForm>();

 public NestedForm getNestedFormList(int index) {
  nestedFormList.get(index);
 }

 //ここにどう書けばいいのかわからない・・・
 public void setNestedFormList(List nestedFormList) {
  this.nestedFormList = nestedFormList;
 }
 public void setNestedForm(int index , NestedForm nestedForm) {
  this.nestedFormList.set(index , nestedForm);
 }
}

//ネストしたフォーム
public class NestedForm extends ValidatorForm {

 private String nestVal01 = null;

 public String getNestedVal01() {
  return nestVal01;
 }

 //↓何もしていないとここのチェックはしてくれない?
 @DoubleType
 @Args(keys="hoge",resource=false)
 public void setNestedVal01(String nestVal01) {
  this.nestVal01 = nestVal01;
 }
}
///////////////////////////////////////////////

よろしくお願いいたします。
-- 
Shunsuke Yokoi <[E-MAIL ADDRESS DELETED]>





Seasar-user メーリングリストの案内