Strutsの入力検証2 Validation.xml

Strutsstruts-validatorによる入力検証手順が分かりましたので報告します。
以下の本を参考にしています。



前述した「Strusの入力検証」は単純にフォームクラスにValidator()メソッドを記述し、各Form毎に実装する必要があったのですが、Struts-validatorを使用した検証では、良く使う検証ルールを定義して、各Formで共通に使用することができます。また、標準ルールがあらかじめ定義されているので、覚えてしまえば比較的簡単に検証を実装できます。


以下に流れ図を書きます。



実装するのは以下の3つです。

  1. struts-config.xmlタグを定義する。ここにvalidator-rules.xml、validation.xmlの場所を定義する。
  2. 記入例
    <struts-config>
        <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
            <set-property property="pathnames" 
                value="/org/apache/struts/validator/validator-rules.xml , 
                /WEB-INF/validation.xml" /> 
        </plug-in>
    </struts-config>
    
  3. validation.xmlに検証を行いたいFormクラスと入力アイテム、検証ルールを記述する。
  4. 記入例
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE form-validation PUBLIC 
        "-//Apache Software Foundation//DTD Commons Validator Rules Configuration.1.3//EN"
        "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
    
        
            <form name="フォームクラスの完全修飾名">
                
            </form>
        
    
    
    検証ルールについては「Javaの道」さんに記載されていました。
  5. 入力元JSPタグでエラー表記を追記


以上です。前述したFormクラス内のValidator()メソッドの実装より、より共通化されたルールで検証を行うことができます。