[Seasar-user:3982] Re: [S2Struts] ネストしたフォームに対するバリデーションの適用方法
Shunsuke Yokoi
[E-MAIL ADDRESS DELETED]
2006年 6月 28日 (水) 01:30:13 JST
永島様
お世話になっております、
横井です。
御回答ありがとうございます。
次リリースにての対応よろしくお願いします。
> 永島です。
>
> ご指摘ありがとうございます。
> https://www.seasar.org/svn/s2struts/branches/s2struts-1.2.3-branch/
> を修正しました。次リリース時に反映されます。
>
> 最初に指摘を受けたときにもっと調べるべきでした。すみません。
> お手数をお掛けしました。
>
> ----
> Katsuhiko Nagashima
>
>
> >Subject: [Seasar-user:3939] Re: [S2Struts] ネストしたフォームに対するバリ
> デーションの適用方法
> >Date: Fri, 23 Jun 2006 02:12:14 +0900
> >
> >永島様
> >
> >お世話になっております。
> >横井です。
> >
> >御回答ありがとうございます。
> >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 <jaguar_note24 @ hotmail.com>
> >
> >
> >_______________________________________________
--
Shunsuke Yokoi <[E-MAIL ADDRESS DELETED]>
Seasar-user メーリングリストの案内