[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 メーリングリストの案内