- - PR -
strutsにおける複数のボタンが存在するフォーム上でのvalidateについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-03-02 09:06
strutsを勉強し始めて2週間程の初心者です。
いろいろ調べましたが、どうしても答えにたどり着かないので、 どうぞよろしくお願い致します。 windows2000 j2sdk1.4.2 struts1.2.4 Tomcat5.0 サブミット・ボタンが複数個存在するWebフォーム上で、ボタンごとに違った検証をコントロールしたいと思っております。 --------validation.xml------- 略 <formset> <form name="TestForm"> <field property="a" depends="required"> <arg key="TestForm.a" /> </field> <field property="b" depends="required"> <arg key="TestForm.b" /> </field> </form> </formset> 略 --------Test.jsp----- 略 <html:form action="/Test"> <html:text property="a" size="10" /><br> <html:text property="b" size="10" /><br> <html:submit property="command">A</html:submit><br> <html:submit property="command">B</html:submit><br> </html:form> 略 上記のようなプログラムでは、[A]ボタンをクリックしても、項目[B]の検証コントロールも動作してしまいます。 [A]ボタンをクリックしたタイミングでは、項目[a]のみチェック。 [B]ボタンをクリックしたタイミングでは、項目[b]のみチェック。 というようなコントロールは実現できるのでしょうか? 説明下手ですが、どなたかアドバイス頂けないでしょうか? よろしくお願い致します。 |
|
投稿日時: 2005-03-02 11:14
Struts で OOTB で実現できるかどうかは存じませんが、Submit の onsubmit イベントで post 先の action を動的に変更させてしまうのはどうでしょう?
action が変われば別のバリデータを呼び出すことができると思います。 または validation.xml を使わず validate() メソッドを書くとか。 #もっと簡単なソリューションがあるかもしれませんが ![]() |
|
投稿日時: 2005-03-02 23:53
ValidatorActionFormかDynaValidatorActionFormを使用すれば、フォーム単位ではなくactionのパス単位でvalidationが利用できます。
|
|
投稿日時: 2005-03-03 09:01
おはようございます。
すえぞう様、インギ様 ご返答ありがとうございます。 現在作成中のものには、 LookupDispatchActionを継承したActionクラスと ValidatorFormを継承しているFormクラスを使用して作成しています。 ひとまず、ValidatorActionFormとDynaValidatorActionFormについて 調べてみたいと思います。 |
1