JValidation

JValidationは日本語圏向けのバリデーションライブラリです。

JValidation v1.0.3 ダウンロード

システム要件

  • 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で使う場合は、下記の手順でセットアップしてください。

  1. jvalidation-1.x.jarを/WEB-INF/lib以下に配置する。
  2. jvalidation-rules.xmlを/WEB-INF以下に配置する。
  3. 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>
  Copyright ©2009 株式会社ナッツウェル, All rights reserved.| Powered by WordPress