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

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


永島です。

先ほどのFormに定義するメソッドに誤りがありました。
  public void setNestedForm(int index , NestedForm nestedForm);
は不要で
  public NestedForm getNestedFormList(int index);
が必要です。

なので、
   public void setNestedFormList(NestedForm[] nestedFormList);
   public NestedForm[] getNestedFormList();
   public NestedForm getNestedFormList(int index);
の3つのGetter/SetterがFormに必要となります。

---- 
Katsuhiko Nagashima


>Subject: [Seasar-user:3917] Re: [S2Struts] ネストしたフォームに対するバリ
デーションの適用方法
>Date: Wed, 21 Jun 2006 00:01:31 +0900
>
>永島です。
>
> >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 アラートで欲しい情報を必要な時に逃さずキャッチ! 
http://alerts.msn.co.jp/ 




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