12. ValidatorForm/ValidatorActionForm
12.1. org.apache.struts.validatorパッケージ
ActionFormでは、validateメソッドを実装し、パラメータ値が正しいかどうかのチェックを行っていました。org.apache.struts.validatorパッケージは、このチェック機能の実装を容易にする目的で提供されているものです。validator機能を使用する事によって、設定ファイルだけで、どのようにチェックを行うか指定する事ができます。
validator機能を利用するためには、「commons-validator.jar」が必要です。Strutsの「lib」ディレクトリに含まれていますので、「WEB-INF/lib」にコピーしてください。続いて、struts-config.xmlに設定を行います。validator機能を利用するためには、「org.apache.struts.validator.ValidatorPlugIn」を設定する必要があります。以下のようにstruts-config.xmlに追加してください。<plug-in>タグの設定は、struts-configの一番最後に設定します。
<struts-config> ... <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathnames" value="/WEB-INF/validator-rules.xml, /WEB-INF/validation.xml" /> </plug-in> </struts-config>
続いて設定ファイルを用意します。struts-config.xmlに記述した「validation.xml」と「validator-rules.xml」の2つが必要です。正確には「検証ルールの詳細を定めた設定ファイル」と「どのようなルールでチェックを行うか定めた設定ファイル」の2種類が必要で、ファイル名は何でも構いません。ただ通常は前者のファイル名を「validator-rules.xml」、後者のファイル名を「validation.xml」とするのが一般的です。
ここではvalidator-rules.xmlはStrutsの「lib」ディレクトリにあるものをそのままコピーしてください。これはStrutsで標準に提供されている検証ルールの設定ファイルです。通常はこの設定ファイルを利用し、独自の検証ルールを追加する場合にはもう1つ設定ファイルを作成するのが一般的です。独自の検証ルールを追加する方法については、後の章で説明します。またもう1つの設定ファイル「validation.xml」については後の節で説明します。