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

NAGASHIMA Katsuhiko [E-MAIL ADDRESS DELETED]
2006年 6月 21日 (水) 00:01:31 JST


永島です。

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

現在は配列にしか対応しておりません。
ですので、
  public void setNestedFormList(NestedForm[] nestedFormList);
  public NestedForm[] getNestedFormList();
  public void setNestedForm(int index , NestedForm nestedForm);
の3つのGetter/Setterが必要となります。
上記のGetter/Setterを追加すれば、
親フォームにはアノテーションを指定しなくても子のアノテーションを見て検証しま
す。

exampleのIndexed Exampleが参考になると思います(わかりにくいですね。。。)。


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

ドキュメントに記載がなくてすみません。m(_ _)m
追加します。

---- 
Katsuhiko Nagashima


>Subject: [Seasar-user:3904] [S2Struts] ネストしたフォームに対するバリデー
ションの適用方法
>Date: Mon, 19 Jun 2006 23:50:39 +0900
>
>横井と申します。
>
>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 mailing list
>[E-MAIL ADDRESS DELETED]
>https://www.seasar.org/mailman/listinfo/seasar-user

_________________________________________________________________
パソコンでも携帯電話でも使える 「MSN Hotmail」 
http://promotion.msn.co.jp/hotmail/ 




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