[Seasar-user:5508] Re: [s2struts] MethodBindingとvalidation.xml

Katsuhiko Nagashima [E-MAIL ADDRESS DELETED]
2006年 12月 17日 (日) 23:47:30 JST


永島です。

「1.」については期待通りです。

> 同時に、Formのアノテーションを記述すると動かないようです。

というのは、validationxmlに記述した内容のチェックだけが有効に
なったということだと思うのですが、
検証のルールについては以下で少し補足します。

FormBeanの検証ルールの優先順位は
 1.validation.xml等の記述
 2.アノテーションによる記述
となっていて、validation.xmlに記述があれば、アノテーション有無に関係なく
そちらが有効になります。
あと、FormBeanの単位で
validation.xmlでの記述とアノテーションによる記述に別けることはできますが、
1つのFormBeanのプロパティごとに
validation.xmlでの記述とアノテーションによる記述を別々にすることはできません。

> 2.Actionのアノテーションには、「無指定」、かつ、Formのアノテーションは
> 「Validationのルールを記述」をする場合、
>  Formの定数アノテーションが有効になった。また、MethodBindingのcancel=trueも問題なく動作した。
>  jspにjavascriptタグを記述しても無視された。
>  同時に、Actionのアノテーションで「validate=XXX」を指定すると動かないようです。

Formのアノテーションで記述した場合でもhtml:javascriptタグを記述した場合
検証用のjavascriptは出力されると思います。
Actionのアノテーションでvalidate=true又はvalidate=falseを指定した場合も
それぞれ検証ありなしとして動作していますが、
なにが動かないのか教えていただいてもよろしいでしょうか。

以上です。

06/12/15 に Shinichiroh Takezaki [Virtual
Technology]<[E-MAIL ADDRESS DELETED]> さんは書きました:
> 竹崎です。
>
> いつもお世話になっております。
>
> MethodBindingとValidationの動作について調べたところ、以下のようになりました。
>
> JSPにMethodBindingタグなどを記述してValidationの動作を確認します。
>
> 1.Actionのアノテーションには  「validate=true」 を指定、 かつ、 Formのアノテーションは 「無指定」の場合、
>  validation.xmlによる検証が有効となった 。(メソッド単位ではなくFORM単位の検証)
>  また、MethodBindingのcancel=trueも問題なく動作した。
>  jspにjavascriptタグを記述するとJavascriptが埋め込まれた。
>  同時に、Formのアノテーションを記述すると動かないようです。
>
> 2.Actionのアノテーションには、「無指定」、かつ、Formのアノテーションは
> 「Validationのルールを記述」をする場合、
>  Formの定数アノテーションが有効になった。また、MethodBindingのcancel=trueも問題なく動作した。
>  jspにjavascriptタグを記述しても無視された。
>  同時に、Actionのアノテーションで「validate=XXX」を指定すると動かないようです。
>
> プロジェクトとしては、validation-rules.xmlを独自に拡張したいため、1.のやりかたを採用することを考えています。
>
> 以上のような動作は期待通りと思ってよろしいでしょうか。
> よろしくお願いします。
>
>
>
>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
>
>


-- 
Katsuhiko Nagashima



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