JValidation
JValidationは日本語圏向けのバリデーションライブラリです。
システム要件
- JDK 1.4.2以上
- commons validator 1.1.x (オプション)
- Apache Struts 1.2.x (オプション)
セットアップ
バリデーションロジックの本体はcom.natswell.jvalidation.JValidationUtilsです。このロジック自体はJDK以外のライブラリに依存しないため、jvalidation-1.x.jarへのクラスパスを通すだけで使えるようになります。
Struts Validatorで使う場合は、下記の手順でセットアップしてください。
- jvalidation-1.x.jarを/WEB-INF/lib以下に配置する。
- jvalidation-rules.xmlを/WEB-INF以下に配置する。
-
struts-config.xmlを編集する。
... <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property ... value="... ,/WEB-INF/jvalidation-rules.xml"/> </plug-in> ...
使い方
機種依存文字を禁止する場合
機種依存文字(NEC特殊文字、NEC選定IBM拡張文字、IBM拡張文字)を禁止する場合、以下のように設定します。
<form ...>
<field ... depends="notContainsSystemDependentChar" >
<arg .../>
<msg key="message id" name="notContainsSystemDependentChar"/>
</field>
0.25単位の数値のみ可とする場合
0.25単位の数値を入力させたい場合、以下のように設定します。
<form ...>
<field ... depends="multiple" >
<arg .../>
<var>
<var-name>multiple</var-name>
<var-value>0.25</var-value>
</var>
<msg key="message id" name="multiple"/>
</field>
整数部3桁以内、小数部2桁以内の数値のみ可とする場合
123.45のように整数部3桁以内、小数部2桁以内の数値を入力させたい場合、-999.99以上、999.99以下、かつ0.01の倍数とします。
<form ...>
<field ... depends="doubleRange,multiple" >
<arg .../>
<var>
<var-name>min</var-name>
<var-value>-999.99</var-value>
</var>
<var>
<var-name>max</var-name>
<var-value>999.99</var-value>
</var>
<var>
<var-name>multiple</var-name>
<var-value>0.01</var-value>
</var>
<msg key="message id" name="multiple"/>
</field>
SQL Serverのsmalldatetime型が扱える日付のみ可とする場合
SQL Serverのsmalldatetime型が扱える日付(1900年1月1日から2079年6月6日)を入力させたい場合、以下の様に設定します。
<field ... depends="inDateRange" >
<arg .../>
<var>
<var-name>dateFormat</var-name>
<var-value>yyyy/MM/dd</var-value>
</var>
<var>
<var-name>from</var-name>
<var-value>1900/01/01</var-value>
</var>
<var>
<var-name>to</var-name>
<var-value>2079/06/06</var-value>
</var>
<var>
<var-name>ignoreTime</var-name>
<var-value>true</var-value>
</var>
<msg key="message id" name="inDateRange"/>
</field>


