ページを指定してバリデーション
ValidatorFormを使用して複数JSPを1Form(ワンビッグフォーム)で管理するとページごとのバリデーションができなくて困ることがあります。
そんな時はValidatorActionFormを使ってやるとバリデーションをActionごとにできるので便利だったりします。
public class SampleForm extends ValidatorActionForm { private String customerName; … …… }
validator.xmlは
<form name="/sample"> <field property="customerName" depends="required"> … …… </field> </form>
こんな感じです。
さらにこれと同じようなことがValidatorForm使ってもできるんです。
まずJSPで
<html:form action="/sample"> <html:hidden property="page" value="1" /> … …… </html:form>
のようにページ番号をふっていきます。
あとはvalidator.xmlで
<form name="SampleForm"> <field property="customerName" depends="required" page="1"> … …… </field> </form>
のようにページを指定してやると指定したページだけバリデータが走るように設定できます。
ちなみにpageというフィールドはValidatorFormにあらかじめ用意されているのでFormは修正しなくてもOKです。