StrutsのvalidatorとActionForm?の関係
- validation.xmlに定義するフォーム名はstruts-config.xmlで定義された論理フォーム名でなければならない。
- 同じフォーム・同じアクションを使うが条件によってvalidation(JS)でチェックする項目が異なる場合(たとえば、全角文字は日本語ページではOKだが英語ページでは不可といったようなもの)
- struts-config.xmlには同じActionForm?クラスに対して以下のものをそれぞれ定義
- 「実際にActionServlet?に渡されるフォーム名」
「日本語ページチェック用ダミーフォーム名」
「英語ページチェック用ダミーフォーム名」
- validation.xmlには、以下のものをそれぞれ定義(それぞれダミーフォーム名を指定)
- 日本語ページ用フォームチェックvalidationルール
- 英語ページ用フォームチェックvalidationルール
- ただしこの方法では次のActionで行われるvalidate()メソッドによるチェックはできなくなる。
|