[Seasar-user:3939] Re: [S2Struts] ネストしたフォームに対するバリデーションの適用方法
Shunsuke Yokoi
[E-MAIL ADDRESS DELETED]
2006年 6月 23日 (金) 02:12:14 JST
永島様
お世話になっております。
横井です。
御回答ありがとうございます。
Indexed Exampleの例は確認不足でした。
子供のフォームのバリデーション定義の生成ですが、
これが有効となるのはPOJOなDTOを使用した場合のみなのでしょうか?
ActionFormを継承したFormの場合、
ネストしたフォームのバリデーション定義を親から呼べていないようです。
よろしくお願いいたします。
> 永島です。
>
> >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 <jaguar_note24 @ hotmail.com>
> >
--
Shunsuke Yokoi <[E-MAIL ADDRESS DELETED]>
Seasar-user メーリングリストの案内