jp.terasoluna.fw.validation
クラス FieldChecks

java.lang.Object
  上位を拡張 jp.terasoluna.fw.validation.FieldChecks

public class FieldChecks
extends java.lang.Object

TERASOLUNAの入力チェック機能で共通に使用される検証ルールクラス。 このクラスが提供する検証ルールとしては、以下のものがある。

検証名
メソッド名
バリデーション定義ファイル(validation.xml)に 記述するルール名
必須チェック validateRequired( Object, ValidatorAction, Field, ValidationErrors) requierd
正規表現チェック validateMask( Object, ValidatorAction, Field, ValidationErrors) mask
byte型チェック validateByte( Object, ValidatorAction, Field, ValidationErrors) byte
short型チェック validateShort( Object, ValidatorAction, Field, ValidationErrors) short
integer型チェック validateInteger( Object, ValidatorAction, Field, ValidationErrors) integer
long型チェック validateLong( Object, ValidatorAction, Field, ValidationErrors) long
float型チェック validateFloat( Object, ValidatorAction, Field, ValidationErrors) float
double型チェック validateDouble( Object, ValidatorAction, Field, ValidationErrors) double
日付型チェック validateDate( Object, ValidatorAction, Field, ValidationErrors) date
整数指定範囲チェック validateIntRange( Object, ValidatorAction, Field, ValidationErrors) intRange
実数指定範囲チェック validateDoubleRange( Object, ValidatorAction, Field, ValidationErrors) doubleRange
浮動小数点数指定範囲チェック validateFloatRange( Object, ValidatorAction, Field, ValidationErrors) floatRange
最大文字数チェック validateMaxLength( Object, ValidatorAction, Field, ValidationErrors) maxLength
最小文字数チェック validateMinLength( Object, ValidatorAction, Field, ValidationErrors) minLength
英数字チェック validateAlphaNumericString(Object, ValidatorAction, Field, ValidationErrors) alphaNumericString
大文字英数字チェック validateCapAlphaNumericString(Object, ValidatorAction, Field, ValidationErrors) capAlphaNumericString
数値チェック validateNumber(Object, ValidatorAction, Field, ValidationErrors) number
半角カナ文字チェック validateHankakuKanaString(Object, ValidatorAction, Field, ValidationErrors) hankakuKanaString
半角文字チェック validateHankakuString(Object, ValidatorAction, Field, ValidationErrors) hankakuString
全角カナ文字チェック validateZenkakuKanaString(Object, ValidatorAction, Field, ValidationErrors) zenkakuKanaString
全角文字チェック validateZenkakuString(Object, ValidatorAction, Field, ValidationErrors) zenkakuString
入力禁止文字チェック validateProhibited(Object, ValidatorAction, Field, ValidationErrors) prohibited
文字列長一致チェック validateStringLength(Object, ValidatorAction, Field, ValidationErrors) stringLength
数字文字列チェック validateNumericString(Object, ValidatorAction, Field, ValidationErrors) numericString
URLチェック validateUrl(Object, ValidatorAction, Field, ValidationErrors) url
配列長一致チェック validateArrayRange(Object, ValidatorAction, Field, ValidationErrors) arrayRange
バイト数指定範囲内チェック validateByteRange(Object, ValidatorAction, Field, ValidationErrors) byteRange
日付文字列指定範囲内チェック validateDateRange(Object, ValidatorAction, Field, ValidationErrors) dateRange
配列・コレクション型フィールド全要素チェック validateArraysIndex(Object, ValidatorAction, Field, ValidationErrors) 他の単体フィールド検証ルール名+"Array"(配列長一致チェックは除く)
相関チェック validateMultiField(Object, ValidatorAction, Field, ValidationErrors) multiField

このクラスではStrutsのValidWhenを利用した入力チェックメソッドを サポートしていない。相関チェックを行なう場合、各フレームワークで 別途、相関チェックを行う仕組みを用意すること。

この検証ルールクラスを利用するためには、アクションごとに検証内容を記述した バリデーション定義ファイル(validation.xml) を作成する必要がある。

validation.xmlの記述例(単体フィールド検証)
  <formset>
    ・・・
    <!-- 単体のフィールド検証 -->
    <form name="testBean">
      <field property="field"
          depends="required,alphaNumericString,maxlength">
        <arg key="testBean.field" position="0"/>
        <arg key="${var:maxlength}" position="1"/>
        <var>
          <var-name>maxlength</var-name>
          <var-value>10</var-value>
        </var>
      </field>
    </form>
    ・・・
  </formset>
 
配列・コレクション型フィールドの入力チェック

このクラスの validateArraysIndex( Object, ValidatorAction, Field, ValidationErrors) メソッドを使用することにより、配列・コレクション型の入力チェックが 可能になる。

例えば、fieldsという配列のプロパティを持つbeanインスタンスに対して、 fields要素に対する必須チェックを行なう場合、validation.xmlのプロパティ名に fieldsと記述する。 実行時には、システム側でfieldsプロパティの配列を0番目から順に走査して、 全要素に対してチェックメソッドを実行する。 実行するルール(validation.xmlのdepends指定)は、ルール名に”Array”を 加えた名前を指定する。

配列・コレクション型の一覧検証に対応するルールは以下の通りである。

ルールを追加した場合、配列・コレクション用のメソッドを別途作成する 必要がある。

入力チェックでエラーが検出された場合、以下の情報を返す。

関連項目:
JXPathIndexedBeanWrapperImpl, IndexedBeanWrapper

フィールドの概要
private static org.apache.commons.logging.Log log
          本クラスで利用するログ。
 
コンストラクタの概要
FieldChecks()
           
 
メソッドの概要
protected  java.lang.String extractValue(java.lang.Object bean, org.apache.commons.validator.Field field)
          オブジェクトから検証値を取り出す。
protected  IndexedBeanWrapper getIndexedBeanWrapper(java.lang.Object bean)
          IndexedBeanWrapper実装クラスを取得する。
protected  java.lang.reflect.Method getMethod(org.apache.commons.validator.ValidatorAction va, java.lang.Class[] paramClass)
          配列・コレクションの要素を検証するメソッドを取得する。
protected  java.lang.Class[] getParamClass(org.apache.commons.validator.ValidatorAction va)
          検証ルールに渡される引数クラス配列を取得する。
protected  void rejectValue(ValidationErrors errors, org.apache.commons.validator.Field field, org.apache.commons.validator.ValidatorAction va, java.lang.Object bean)
          入力チェックエラーが生じた場合に、エラー情報を、 TERASOLUNA共通のエラーインタフェースに引き渡す。
 boolean validateAlphaNumericString(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          指定されたフィールドが英数字であることをチェックする。
 boolean validateArrayRange(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          指定されたフィールドの配列・コレクションの長さが、 指定数の範囲内であることをチェックする。
 boolean validateArraysIndex(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          指定されたフィールドに一致する全てのプロパティ値をチェックする。
 boolean validateByte(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          入力値がbyte型に変換可能か検証する。
 boolean validateByteRange(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          指定されたフィールドのバイト列長が指定した範囲内であることを チェックする。
 boolean validateCapAlphaNumericString(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          指定されたフィールドが大文字英数字であることをチェックする。
 boolean validateDate(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          入力値が有効な日付か検証する。
 boolean validateDateRange(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          日付が指定した範囲内であるかどうかチェックする。
 boolean validateDouble(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          入力値がdouble型に変換可能か検証する。
 boolean validateDoubleRange(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          入力値が指定されたdouble型に変換可能であり、 かつ指定された範囲内か検証する。
 boolean validateFloat(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          入力値がfloat型に変換可能か検証する。
 boolean validateFloatRange(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          入力値が指定されたfloat型に変換可能であり、 かつ指定された範囲内か検証する。
 boolean validateHankakuKanaString(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          指定されたフィールドが半角カナ文字列であることをチェックする。
 boolean validateHankakuString(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          指定されたフィールドが半角文字列であることをチェックする。
 boolean validateInteger(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          入力値がint型に変換可能か検証する。
 boolean validateIntRange(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          入力値が指定されたint型に変換可能であり、 かつ指定された範囲内か検証する。
 boolean validateLong(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          入力値がlong型に変換可能か検証する。
 boolean validateMask(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          入力値が指定された正規表現に適合するか検証する。
 boolean validateMaxLength(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          入力値の文字数が指定された最大文字数以下か検証する。
 boolean validateMinLength(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          入力値の文字数が指定された最小文字数以上か検証する。
 boolean validateMultiField(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          複数フィールドの相関チェックを行う。
 boolean validateNumber(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          指定されたフィールドが数値であることをチェックする。
 boolean validateNumericString(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          指定されたフィールドが半角数字であることをチェックする。
 boolean validateProhibited(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          指定されたフィールドに入力禁止文字列が混入しているか どうかをチェックする。
 boolean validateRequired(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          入力値のNull検証と、スペースを除いた入力値の文字列長が0より大きいか 検証する。
 boolean validateShort(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          入力値がshort型に変換可能か検証する。
 boolean validateStringLength(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          指定されたフィールドの文字列長が一致していることをチェックする。
 boolean validateUrl(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          指定されたフィールドがURL形式かどうかチェックする。
 boolean validateZenkakuKanaString(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          指定されたフィールドが全角カタカナ文字列で あることをチェックする。
 boolean validateZenkakuString(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ValidationErrors errors)
          指定されたフィールドが全角文字列であることをチェックする。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

log

private static org.apache.commons.logging.Log log
本クラスで利用するログ。

コンストラクタの詳細

FieldChecks

public FieldChecks()
メソッドの詳細

validateRequired

public boolean validateRequired(java.lang.Object bean,
                                org.apache.commons.validator.ValidatorAction va,
                                org.apache.commons.validator.Field field,
                                ValidationErrors errors)
入力値のNull検証と、スペースを除いた入力値の文字列長が0より大きいか 検証する。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - 検証中のValidatorActionインスタンス。
field - 検証中のFieldインスタンス。
errors - 検証エラーが発生した場合、 エラー情報を格納するオブジェクト。
戻り値:
検証に成功した場合はtrueを返す。 検証エラーがある場合、falseを返す。

validateMask

public boolean validateMask(java.lang.Object bean,
                            org.apache.commons.validator.ValidatorAction va,
                            org.apache.commons.validator.Field field,
                            ValidationErrors errors)
                     throws org.apache.commons.validator.ValidatorException
入力値が指定された正規表現に適合するか検証する。

以下は、文字列が半角英数字であるときのみtrueを返却する 検証の設定例である。

validation.xmlの記述例
 <form name="sample">
  ・・・
  <field property="maskField"
      depends="mask">
    <arg key="sample.escape" position="0"/>
    <var>
      <var-name>mask</var-name>
      <var-value>^([0-9]|[a-z]|[A-Z])*$</var-value>
    </var>
  </field>
  ・・・
 </form>
 
validation.xmlに設定を要する<var>要素
var-name
var-value
必須性
概要
mask 正規表現 true 入力文字列が指定された正規表現に合致するときは true が返却される。指定されない場合はValidatorException がスローされる。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - 検証中のValidatorActionインスタンス。
field - 検証中のFieldインスタンス。
errors - 検証エラーが発生した場合、 エラー情報を格納するオブジェクト。
戻り値:
検証に成功した場合はtrueを返す。 検証エラーがある場合、falseを返す。
例外:
org.apache.commons.validator.ValidatorException - 設定ファイルからmask(正規表現)の値が 取得できない場合にスローされる。

validateByte

public boolean validateByte(java.lang.Object bean,
                            org.apache.commons.validator.ValidatorAction va,
                            org.apache.commons.validator.Field field,
                            ValidationErrors errors)
入力値がbyte型に変換可能か検証する。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - 検証中のValidatorActionインスタンス。
field - 検証中のFieldインスタンス。
errors - 検証エラーが発生した場合、 エラー情報を格納するオブジェクト。
戻り値:
検証に成功した場合はtrueを返す。 検証エラーがある場合、falseを返す。

validateShort

public boolean validateShort(java.lang.Object bean,
                             org.apache.commons.validator.ValidatorAction va,
                             org.apache.commons.validator.Field field,
                             ValidationErrors errors)
入力値がshort型に変換可能か検証する。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - 検証中のValidatorActionインスタンス。
field - 検証中のFieldインスタンス。
errors - 検証エラーが発生した場合、 エラー情報を格納するオブジェクト。
戻り値:
検証に成功した場合はtrueを返す。 検証エラーがある場合、falseを返す。

validateInteger

public boolean validateInteger(java.lang.Object bean,
                               org.apache.commons.validator.ValidatorAction va,
                               org.apache.commons.validator.Field field,
                               ValidationErrors errors)
入力値がint型に変換可能か検証する。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - 検証中のValidatorActionインスタンス。
field - 検証中のFieldインスタンス。
errors - 検証エラーが発生した場合、 エラー情報を格納するオブジェクト。
戻り値:
検証に成功した場合はtrueを返す。 検証エラーがある場合、falseを返す。

validateLong

public boolean validateLong(java.lang.Object bean,
                            org.apache.commons.validator.ValidatorAction va,
                            org.apache.commons.validator.Field field,
                            ValidationErrors errors)
入力値がlong型に変換可能か検証する。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - 検証中のValidatorActionインスタンス。
field - 検証中のFieldインスタンス。
errors - 検証エラーが発生した場合、 エラー情報を格納するオブジェクト。
戻り値:
検証に成功した場合はtrueを返す。 検証エラーがある場合、falseを返す。

validateFloat

public boolean validateFloat(java.lang.Object bean,
                             org.apache.commons.validator.ValidatorAction va,
                             org.apache.commons.validator.Field field,
                             ValidationErrors errors)
入力値がfloat型に変換可能か検証する。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - 検証中のValidatorActionインスタンス。
field - 検証中のFieldインスタンス。
errors - 検証エラーが発生した場合、 エラー情報を格納するオブジェクト。
戻り値:
検証に成功した場合はtrueを返す。 検証エラーがある場合、falseを返す。

validateDouble

public boolean validateDouble(java.lang.Object bean,
                              org.apache.commons.validator.ValidatorAction va,
                              org.apache.commons.validator.Field field,
                              ValidationErrors errors)
入力値がdouble型に変換可能か検証する。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - 検証中のValidatorActionインスタンス。
field - 検証中のFieldインスタンス。
errors - 検証エラーが発生した場合、 エラー情報を格納するオブジェクト。
戻り値:
検証に成功した場合はtrueを返す。 検証エラーがある場合、falseを返す。

validateDate

public boolean validateDate(java.lang.Object bean,
                            org.apache.commons.validator.ValidatorAction va,
                            org.apache.commons.validator.Field field,
                            ValidationErrors errors)
                     throws org.apache.commons.validator.ValidatorException
入力値が有効な日付か検証する。

fieldに「datePattern」変数が定義されている場合、 java.text.SimpleDateFormatクラスを 利用したフォーマットの検証が行われる。

fieldに「datePatternStrict」変数が定義されている場合、 java.text.SimpleDateFormatクラスを利用したフォーマットと 桁数の検証が行われる。 例えば、'2/12/1999'は'MM/dd/yyyy'形式のフォーマットにすると 月(Month)が2桁でないため、検証エラーとなる。

「datePattern」変数と、「datePatternStrict」変数の両方が指定された 場合、「datePattern」変数が優先して使用される。 「datePattern」変数と、「datePatternStrict」変数の両方が指定されていない 場合、例外が発生する。また、日付パターンに無効な文字列が含まれている 場合も例外が発生する

フォーマット時には必ず「setLenient=false」が設定されるため、 2000/02/31のような存在しない日付は、いずれの場合も許容されない。

以下は、文字列がyyyy/MM/dd型の日付パターンに合致することを検証 する場合の設定例である。
validation.xmlの記述例
 <form name="sample">
  ・・・
  <field property="dateField"
      depends="date">
    <arg key="sample.dateField" position="0"/>
    <var>
      <var-name>datePattern</var-name>
      <var-value>yyyy/MM/dd</var-value>
    </var>
  </field>
  ・・・
 </form>
 
validation.xmlに設定を要する<var>要素
var-name
var-value
必須性
概要
datePattern 日付パターン false 日付パターンを指定する。入力値の桁数チェックは行わない。 たとえば、日付パターンがyyyy/MM/ddの場合、2001/1/1はエラーにならない。 datePatternとdatePatternStrictが両方指定されている場合は、 datePatternが優先して使用される。
datePatternStrict 日付パターン false 日付パターンを指定する。入力値の桁数が、 指定された日付パターンの桁数に合致するかのチェックを行う。 たとえば、日付パターンがyyyy/MM/ddの場合、2001/1/1はエラーになる。 datePatternとdatePatternStrictが両方指定されている場合は、 datePatternが優先して使用される。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - 検証中のValidatorActionインスタンス。
field - 検証中のFieldインスタンス。
errors - 検証エラーが発生した場合、 エラー情報を格納するオブジェクト。
戻り値:
検証に成功した場合はtrueを返す。 検証エラーがある場合、falseを返す。
例外:
org.apache.commons.validator.ValidatorException - validation定義ファイルの設定ミスがあった場合 スローされる例外。

validateIntRange

public boolean validateIntRange(java.lang.Object bean,
                                org.apache.commons.validator.ValidatorAction va,
                                org.apache.commons.validator.Field field,
                                ValidationErrors errors)
                         throws org.apache.commons.validator.ValidatorException
入力値が指定されたint型に変換可能であり、 かつ指定された範囲内か検証する。

以下は、文字列が10から100までの範囲内の数値であるときのみ trueを返却する検証の設定例である。

validation.xmlの記述例
 <form name="sample">
  ・・・
  <field property="intField"
      depends="intRange">
    <arg key="sample.intField" position="0"/>
    <var>
      <var-name>intRangeMin</var-name>
      <var-value>10</var-value>
    </var>
    <var>
      <var-name>intRangeMax</var-name>
      <var-value>100</var-value>
    </var>
  </field>
  ・・・
 </form>
 
validation.xmlに設定を要する<var>要素
var-name
var-value
必須性
概要
intRangeMin 最小値 false 範囲指定の最小値を設定する。設定しない場合、Integerの最小値が 指定される。 数値以外の文字列が入力された場合、例外がスローされる。
intRangeMax 最大値 false 範囲指定の最大値を設定する。設定しない場合、Integerの最大値が 指定される。 数値以外の文字列が入力された場合、例外がスローされる。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - 検証中のValidatorActionインスタンス。
field - 検証中のFieldインスタンス。
errors - 検証エラーが発生した場合、 エラー情報を格納するオブジェクト。
戻り値:
検証に成功した場合はtrueを返す。 検証エラーがある場合、falseを返す。
例外:
org.apache.commons.validator.ValidatorException - validation定義ファイルの設定ミスがあった場合 スローされる例外。

validateDoubleRange

public boolean validateDoubleRange(java.lang.Object bean,
                                   org.apache.commons.validator.ValidatorAction va,
                                   org.apache.commons.validator.Field field,
                                   ValidationErrors errors)
                            throws org.apache.commons.validator.ValidatorException
入力値が指定されたdouble型に変換可能であり、 かつ指定された範囲内か検証する。

以下は、文字列が10から100までの範囲内の数値であるときのみ trueを返却する検証の設定例である。

validation.xmlの記述例
 <form name="sample">
  ・・・
  <field property="doubleField"
      depends="doubleRange">
    <arg key="sample.doubleField" position="0"/>
    <var>
      <var-name>doubleRangeMin</var-name>
      <var-value>10.0</var-value>
    </var>
    <var>
      <var-name>doubleRangeMax</var-name>
      <var-value>100.0</var-value>
    </var>
  </field>
  ・・・
 </form>
 
validation.xmlに設定を要する<var>要素
var-name
var-value
必須性
概要
doubleRangeMin 最小値 false 範囲指定の最小値を設定する。設定しない場合、Doubleの最小値が 指定される。 数値以外の文字列が入力された場合、例外がスローされる。
doubleRangeMax 最大値 false 範囲指定の最大値を設定する。設定しない場合、Doubleの最大値が 指定される。 数値以外の文字列が入力された場合、例外がスローされる。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - 検証中のValidatorActionインスタンス。
field - 検証中のFieldインスタンス。
errors - 検証エラーが発生した場合、 エラー情報を格納するオブジェクト。
戻り値:
検証に成功した場合はtrueを返す。 検証エラーがある場合、falseを返す。
例外:
org.apache.commons.validator.ValidatorException - validation定義ファイルの設定ミスがあった場合 スローされる例外。

validateFloatRange

public boolean validateFloatRange(java.lang.Object bean,
                                  org.apache.commons.validator.ValidatorAction va,
                                  org.apache.commons.validator.Field field,
                                  ValidationErrors errors)
                           throws org.apache.commons.validator.ValidatorException
入力値が指定されたfloat型に変換可能であり、 かつ指定された範囲内か検証する。

以下は、文字列が10から100までの範囲内の数値であるときのみ trueを返却する検証の設定例である。

validation.xmlの記述例
 <form name="sample">
  ・・・
  <field property="floatField"
      depends="floatRange">
    <arg key="sample.floatField" position="0"/>
    <var>
      <var-name>floatRangeMin</var-name>
      <var-value>10</var-value>
    </var>
    <var>
      <var-name>floatRangeMax</var-name>
      <var-value>100</var-value>
    </var>
  </field>
  ・・・
 </form>
 
validation.xmlに設定を要する<var>要素
var-name
var-value
必須性
概要
floatRangeMin 最小値 false 範囲指定の最小値を設定する。設定しない場合、Floatの最小値が 指定される。 数値以外の文字列が入力された場合、例外がスローされる。
floatRangeMax 最大値 false 範囲指定の最大値を設定する。設定しない場合、Floatの最大値が 指定される。 数値以外の文字列が入力された場合、例外がスローされる。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - 検証中のValidatorActionインスタンス。
field - 検証中のFieldインスタンス。
errors - 検証エラーが発生した場合、 エラー情報を格納するオブジェクト。
戻り値:
検証に成功した場合はtrueを返す。 検証エラーがある場合、falseを返す。
例外:
org.apache.commons.validator.ValidatorException - validation定義ファイルの設定ミスがあった場合 スローされる例外。

validateMaxLength

public boolean validateMaxLength(java.lang.Object bean,
                                 org.apache.commons.validator.ValidatorAction va,
                                 org.apache.commons.validator.Field field,
                                 ValidationErrors errors)
                          throws org.apache.commons.validator.ValidatorException
入力値の文字数が指定された最大文字数以下か検証する。

以下は、文字列が10文字以下であるときのみ trueを返却する検証の設定例である。

validation.xmlの記述例
 <form name="sample">
  ・・・
  <field property="stringField"
      depends="maxLength">
    <arg key="sample.stringField" position="0"/>
    <var>
      <var-name>maxlength</var-name>
      <var-value>10</var-value>
    </var>
  </field>
  ・・・
 </form>
 
validation.xmlに設定を要する<var>要素
var-name
var-value
必須性
概要
maxlength 最大文字数 true 文字列の最大文字数を設定する。 数値以外の文字列が入力された場合、例外がスローされる。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - 検証中のValidatorActionインスタンス。
field - 検証中のFieldインスタンス。
errors - 検証エラーが発生した場合、 エラー情報を格納するオブジェクト。
戻り値:
検証に成功した場合はtrueを返す。 検証エラーがある場合、falseを返す。
例外:
org.apache.commons.validator.ValidatorException - validation定義ファイルの設定ミスがあった場合 スローされる例外。

validateMinLength

public boolean validateMinLength(java.lang.Object bean,
                                 org.apache.commons.validator.ValidatorAction va,
                                 org.apache.commons.validator.Field field,
                                 ValidationErrors errors)
                          throws org.apache.commons.validator.ValidatorException
入力値の文字数が指定された最小文字数以上か検証する。

以下は、文字列が10文字以上であるときのみ trueを返却する検証の設定例である。

validation.xmlの記述例
 <form name="sample">
  ・・・
  <field property="stringField"
      depends="minLength">
    <arg key="sample.stringField" position="0"/>
    <var>
      <var-name>minlength</var-name>
      <var-value>10</var-value>
    </var>
  </field>
  ・・・
 </form>
 
validation.xmlに設定を要する<var>要素
var-name
var-value
必須性
概要
minlength 最小文字数 true 文字列の最小文字数を設定する。 数値以外の文字列が入力された場合、例外がスローされる。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - 検証中のValidatorActionインスタンス。
field - 検証中のFieldインスタンス。
errors - 検証エラーが発生した場合、 エラー情報を格納するオブジェクト。
戻り値:
検証に成功した場合はtrueを返す。 検証エラーがある場合、falseを返す。
例外:
org.apache.commons.validator.ValidatorException - validation定義ファイルの設定ミスがあった場合 スローされる例外。

validateAlphaNumericString

public boolean validateAlphaNumericString(java.lang.Object bean,
                                          org.apache.commons.validator.ValidatorAction va,
                                          org.apache.commons.validator.Field field,
                                          ValidationErrors errors)
指定されたフィールドが英数字であることをチェックする。 正規表現^([0-9]|[a-z]|[A-Z])*$を使用する。 チェックに引っかかった場合は、エラー情報をerrorsに追加し、 falseを返却する。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - Validatorにより用意されたValidatorAction
field - フィールドインスタンス
errors - エラー
戻り値:
入力値が正しければ true

validateCapAlphaNumericString

public boolean validateCapAlphaNumericString(java.lang.Object bean,
                                             org.apache.commons.validator.ValidatorAction va,
                                             org.apache.commons.validator.Field field,
                                             ValidationErrors errors)
指定されたフィールドが大文字英数字であることをチェックする。 チェックに引っかかった場合は、エラー情報をerrorsに追加し、 falseを返却する。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - Validatorにより用意されたValidatorAction
field - フィールドインスタンス
errors - エラー
戻り値:
入力値が正しければ true

validateNumber

public boolean validateNumber(java.lang.Object bean,
                              org.apache.commons.validator.ValidatorAction va,
                              org.apache.commons.validator.Field field,
                              ValidationErrors errors)
                       throws org.apache.commons.validator.ValidatorException
指定されたフィールドが数値であることをチェックする。 全角数字を使用すると検証に失敗する。 チェックに引っかかった場合は、 エラー情報をerrorsに追加し、falseを返却する。

まず、入力された文字列を用い、BigDecimal 型を生成する ここで生成不可能ならばエラー処理を行なう。 次に整数部の桁数が指定されている場合に、桁数の確認を行う。 validation.xml で isAccordedInteger() が "true" 指定されている場合のみ 整数桁数の同一チェックが行われる。 チェックに引っかかった場合は、エラー処理を行なう。 最後に小数部の桁数が指定されている場合に、桁数の確認を行う。 validation.xmlでisAccordedScaleが"true"である場合のみ 小数桁数の同一チェックが行われる。

下記は、整数部3、小数部2である数値を検証する例である。

validation.xmlの記述例
 <form name="sample">
  ・・・
  <field property="numberField"
      depends="number">
    <arg key="sample.numberField" position="0"/>
    <var>
      <var-name>integerLength</var-name>
      <var-value>3</var-value>
    </var>
    <var>
      <var-name>scale</var-name>
      <var-value>2</var-value>
    </var>
    <var>
      <var-name>isAccordedInteger</var-name>
      <var-value>true</var-value>
    </var>
    <var>
      <var-name>isAccordedScale</var-name>
      <var-value>true</var-value>
    </var>
  </field>
  ・・・
 </form>
 
validation.xmlに設定を要する<var>要素
var-name
var-value
必須性
概要
integerLength 整数部桁数 false 整数の桁数を設定する。isAccordedInteger指定が 無いときは、指定桁数以内の検証を行う。 省略時は、int型の最大値が指定される。 非数値を設定した場合、例外がスローされる。
scale 小数部桁数 false 小数値の桁数を設定する、isAccordedScale指定が 無いときは、指定桁数以内の検証を行う。 省略時は、int型の最大値が指定される。 非数値を設定した場合、例外がスローされる。
isAccordedInteger 整数桁数一致チェック false trueが指定されたとき、整数桁数の一致チェックが 行なわれる。省略時、true以外の文字列が設定された時は 桁数以内チェックとなる。
isAccordedScale 小数桁数一致チェック false trueが指定されたとき、小数桁数の一致チェックが 行なわれる。省略時、true以外の文字列が設定された時は 桁数以内チェックとなる。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - Validatorにより用意されたValidatorAction
field - フィールドインスタンス
errors - エラー
戻り値:
入力値が正しければ true
例外:
org.apache.commons.validator.ValidatorException - validation定義ファイルの設定ミスがあった場合 スローされる例外。

validateHankakuKanaString

public boolean validateHankakuKanaString(java.lang.Object bean,
                                         org.apache.commons.validator.ValidatorAction va,
                                         org.apache.commons.validator.Field field,
                                         ValidationErrors errors)
指定されたフィールドが半角カナ文字列であることをチェックする。 チェックに引っかかった場合は、エラー情報をerrorsに追加し、 falseを返却する。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - Validatorにより用意されたValidatorAction
field - フィールドインスタンス
errors - エラー
戻り値:
入力値が正しければ true

validateHankakuString

public boolean validateHankakuString(java.lang.Object bean,
                                     org.apache.commons.validator.ValidatorAction va,
                                     org.apache.commons.validator.Field field,
                                     ValidationErrors errors)
指定されたフィールドが半角文字列であることをチェックする。 チェックに引っかかった場合は、エラー情報をerrorsに追加し、 falseを返却する。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - Validatorにより用意されたValidatorAction
field - フィールドインスタンス
errors - エラー
戻り値:
入力値が正しければ true

validateZenkakuString

public boolean validateZenkakuString(java.lang.Object bean,
                                     org.apache.commons.validator.ValidatorAction va,
                                     org.apache.commons.validator.Field field,
                                     ValidationErrors errors)
指定されたフィールドが全角文字列であることをチェックする。 チェックに引っかかった場合は、エラー情報をerrorsに追加し、 falseを返却する。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - Validatorにより用意されたValidatorAction
field - フィールドインスタンス
errors - エラー
戻り値:
入力値が正しければ true

validateZenkakuKanaString

public boolean validateZenkakuKanaString(java.lang.Object bean,
                                         org.apache.commons.validator.ValidatorAction va,
                                         org.apache.commons.validator.Field field,
                                         ValidationErrors errors)
指定されたフィールドが全角カタカナ文字列で あることをチェックする。
チェックに引っかかった場合は、エラー情報をerrorsに追加し、 falseを返却する。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - Validatorにより用意されたValidatorAction
field - フィールドインスタンス
errors - エラー
戻り値:
入力値が正しければ true

validateProhibited

public boolean validateProhibited(java.lang.Object bean,
                                  org.apache.commons.validator.ValidatorAction va,
                                  org.apache.commons.validator.Field field,
                                  ValidationErrors errors)
                           throws org.apache.commons.validator.ValidatorException
指定されたフィールドに入力禁止文字列が混入しているか どうかをチェックする。 チェックに引っかかった場合は、エラー情報をerrorsに追加し、 falseを返却する。

以下は、禁止文字列チェックの設定例である。

validation.xmlの記述例
 <form name="sample">
  ・・・
  <field property="stringField"
      depends="prohibited">
    <arg key="sample.stringField" position="0"/>
    <var>
      <var-name>chars</var-name>
      <var-value>!"#$%&'()<></var-value>
    </var>
  </field>
  ・・・
 </form>
 
validation.xmlに設定を要する<var>要素
var-name
var-value
必須性
概要
chars 入力禁止キャラクタ true 入力を禁止する文字。設定されない場合は、ValidatorException がスローされる。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - Validatorにより用意されたValidatorAction
field - フィールドインスタンス
errors - エラー
戻り値:
入力値が正しければ true
例外:
org.apache.commons.validator.ValidatorException - 設定ファイルからcharsの値が取得できない 場合にスローされる。

validateNumericString

public boolean validateNumericString(java.lang.Object bean,
                                     org.apache.commons.validator.ValidatorAction va,
                                     org.apache.commons.validator.Field field,
                                     ValidationErrors errors)
指定されたフィールドが半角数字であることをチェックする。 チェックに引っかかった場合は、エラー情報をerrorsに追加し、 falseを返却する。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - Validatorにより用意されたValidatorAction
field - フィールドインスタンス
errors - エラー
戻り値:
入力値が正しければ true

validateStringLength

public boolean validateStringLength(java.lang.Object bean,
                                    org.apache.commons.validator.ValidatorAction va,
                                    org.apache.commons.validator.Field field,
                                    ValidationErrors errors)
                             throws org.apache.commons.validator.ValidatorException
指定されたフィールドの文字列長が一致していることをチェックする。 チェックに引っかかった場合は、エラー情報をerrorsに追加し、 falseを返却する。

以下は、文字列長が5であるときのみtrueを返却する 検証の設定例である。

validation.xmlの記述例
 <form name="sample">
  ・・・
  <field property="stringField"
      depends="stringLength">
    <arg key="sample.stringField" position="0"/>
    <var>
      <var-name>stringLength</var-name>
      <var-value>5</var-value>
    </var>
  </field>
  ・・・
 </form>
 
validation.xmlに設定を要する<var>要素
var-name
var-value
必須性
概要
stringLength 入力文字列長 false 入力文字列長を指定する。 省略時は、int型の最大値が指定される。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - Validatorにより用意されたValidatorAction
field - フィールドインスタンス
errors - エラー
戻り値:
入力値が正しければ true
例外:
org.apache.commons.validator.ValidatorException - validation定義ファイルの設定ミスがあった場合 スローされる例外。

validateArrayRange

public boolean validateArrayRange(java.lang.Object bean,
                                  org.apache.commons.validator.ValidatorAction va,
                                  org.apache.commons.validator.Field field,
                                  ValidationErrors errors)
                           throws org.apache.commons.validator.ValidatorException
指定されたフィールドの配列・コレクションの長さが、 指定数の範囲内であることをチェックする。 チェックに引っかかった場合は、エラー情報をerrorsに追加し、 falseを返却する。

以下は、配列・コレクションの長さが4〜7であるときのみtrueを返却する 検証の設定例である。

validation.xmlの記述例
 <form name="sample">
  ・・・
  <field property="arrayField"
      depends="arrayRange">
    <arg key="sample.arrayField" position="0"/>
    <var>
      <var-name>minArrayLength</var-name>
      <var-value>4</var-value>
    </var>
    <var>
      <var-name>maxArrayLength</var-name>
      <var-value>7</var-value>
    </var>
  </field>
  ・・・
 </form>
 
validation.xmlに設定を要する<var>要素
var-name
var-value
必須性
概要
minArrayLength 最小配列数 false 配列の最小配列数を指定する。 最小配列数の指定がない場合、0が指定される。
maxArrayLength 最大配列数 false 配列の最大配列数を指定する。 最大配列数の指定がない場合、 int型の最大値が指定される。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - Validatorにより用意されたValidatorAction
field - フィールドインスタンス
errors - エラー
戻り値:
入力値が正しければ true
例外:
org.apache.commons.validator.ValidatorException - validation定義ファイルの設定ミスがあった場合 スローされる例外。

validateUrl

public boolean validateUrl(java.lang.Object bean,
                           org.apache.commons.validator.ValidatorAction va,
                           org.apache.commons.validator.Field field,
                           ValidationErrors errors)
指定されたフィールドがURL形式かどうかチェックする。
チェックに引っかかった場合は、エラー情報をerrorsに追加し、 falseを返却する。

以下は、HTTP、FTPプロトコル指定可能、ダブルスラッシュ指定可能、 URLの分割可能である検証の設定例である。

validation.xmlの記述例
 <form name="sample">
  ・・・
  <field property="date"
      depends="url">
    <arg key="label.date" position="0"/>
    <var>
      <var-name>allowallschemes</var-name>
      <var-value>false</var-value>
    </var>
    <var>
      <var-name>allow2slashes</var-name>
      <var-value>true</var-value>
    </var>
    <var>
      <var-name>nofragments</var-name>
      <var-value>false</var-value>
    </var>
    <var>
      <var-name>schemes</var-name>
      <var-value>http,ftp</var-value>
    </var>
  </field>
  ・・・
 </form>
 
validation.xmlに設定を要する<var>要素
var-name
var-value
必須性
概要
allowallschemes true(or false) false 全てのスキームを許可するか判断するフラグ。デフォルトfalse。
allow2slashes true(or false) false ダブルスラッシュを許可するか判断するフラグ。デフォルトfalse。
nofragments true(or false) false URL分割禁止か判断するフラグ。デフォルトfalse。
schemes プロトコル false 許可するスキーム。複数ある場合はカンマ区切りで指定。 デフォルトはhttp, https, ftp。

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - Validatorにより用意されたValidatorAction
field - フィールドインスタンス
errors - エラー
戻り値:
入力値が正しければ true

validateByteRange

public boolean validateByteRange(java.lang.Object bean,
                                 org.apache.commons.validator.ValidatorAction va,
                                 org.apache.commons.validator.Field field,
                                 ValidationErrors errors)
                          throws org.apache.commons.validator.ValidatorException
指定されたフィールドのバイト列長が指定した範囲内であることを チェックする。 チェックに引っかかった場合は、エラー情報をerrorsに追加し、 falseを返却する。

以下は、バイト列長が5以上、10以下であるときのみ true を返却する検証の設定例である。

validation.xmlの記述例
 <form name="sample">
  ・・・
  <field property="stringField"
      depends="byteRange">
    <arg key="sample.stringField" position="0"/>
    <var>
      <var-name>maxByteLength</var-name>
      <var-value>10</var-value>
    </var>
    <var>
      <var-name>minByteLength</var-name>
      <var-value>5</var-value>
    </var>
    <var>
      <var-name>encoding</var-name>
      <var-value>Windows-31J</var-value>
    </var>
  </field>
  ・・・
 </form>
 
validation.xmlに設定を要する<var>要素
var-name
var-value
必須性
概要
maxByteLength 最大バイト数 false 入力文字列バイト長を検証するための最大バイト長。 省略時は、int型の最大値が指定される。
minByteLength 最小バイト数 false 入力文字列バイト長を検証するための最小バイト長。 省略時は、0が指定される。
encoding 文字エンコーディング false 入力文字をバイト列に変換する際に使用する文字エンコーディング。 省略された場合はVMのデフォルトエンコーディングが使用される。

パラメータ:
bean - 検査対象のオブジェクト
va - Validatorにより用意されたValidatorAction
field - フィールドオブジェクト
errors - エラー
戻り値:
入力値が正しければ true
例外:
org.apache.commons.validator.ValidatorException - validation定義ファイルの設定ミスがあった場合 スローされる例外。

validateDateRange

public boolean validateDateRange(java.lang.Object bean,
                                 org.apache.commons.validator.ValidatorAction va,
                                 org.apache.commons.validator.Field field,
                                 ValidationErrors errors)
                          throws org.apache.commons.validator.ValidatorException
日付が指定した範囲内であるかどうかチェックする。 チェックに引っかかった場合は、エラー情報をerrorsに追加し、 falseを返却する。

以下は、日付が2000/01/01から2010/12/31の範囲内であるかどうかの 検証の設定例である。

validation.xmlの記述例
 <form name="sample">
  ・・・
  <field property="date"
      depends="dateRange">
    <arg key="date" position="0"/>
    <var>
      <var-name>startDate</var-name>
      <var-value>2000/01/01</var-value>
    </var>
    <var>
      <var-name>endDate</var-name>
      <var-value>2010/12/31</var-value>
    </var>
  </field>
  ・・・
 </form>
 
validation.xmlに設定を要する<var>要素
var-name
var-value
必須性
概要
startDate 開始日付 false 日付範囲の開始の閾値となる日付。 日付パターンで指定した形式で設定すること。
endDate 終了日付 false 日付範囲の終了の閾値となる日付。 日付パターンで指定した形式で設定すること。
datePattern 日付パターン false 日付パターンを指定する。入力値の桁数チェックは行わない。 たとえば、日付パターンがyyyy/MM/ddの場合、2001/1/1はエラーにならない。 datePatternとdatePatternStrictが両方指定されている場合は、 datePatternが優先して使用される。
datePatternStrict 日付パターン false 日付パターンを指定する。入力値の桁数が、 指定された日付パターンの桁数に合致するかのチェックを行う。 たとえば、日付パターンがyyyy/MM/ddの場合、2001/1/1はエラーになる。 datePatternとdatePatternStrictが両方指定されている場合は、 datePatternが優先して使用される。

パラメータ:
bean - 検査対象のオブジェクト
va - Validatorにより用意されたValidatorAction
field - フィールドオブジェクト
errors - エラー
戻り値:
入力値が正しければ true
例外:
org.apache.commons.validator.ValidatorException - datePatternまたはdatePatternStrictに不正な パターン文字が含まれる場合、startDateまたはendDateが日付に変換できない 場合にスローされる

validateArraysIndex

public boolean validateArraysIndex(java.lang.Object bean,
                                   org.apache.commons.validator.ValidatorAction va,
                                   org.apache.commons.validator.Field field,
                                   ValidationErrors errors)
                            throws org.apache.commons.validator.ValidatorException
指定されたフィールドに一致する全てのプロパティ値をチェックする。 チェックに引っかかった場合は、エラー情報をerrorsに追加し、 falseを返却する。

配列・コレクション型に対してのフィールドチェックが可能である。 配列・コレクションの全ての要素に対して、validation.xmlで 定義したdepends名から”Array”を取ったチェックルールを呼び出す。 depends="requiredArray" ⇒ "required" (必須チェック)

パラメータ:
bean - 検査対象のJavaBeanインスタンス
va - Validatorにより用意されたValidatorAction
field - フィールドインスタンス
errors - エラー
戻り値:
要素すべての入力値が正しければ true
例外:
org.apache.commons.validator.ValidatorException - validation定義ファイルの設定ミスがあった場合 、チェック対象のbeanがnullである場合にスローされる例外。

getIndexedBeanWrapper

protected IndexedBeanWrapper getIndexedBeanWrapper(java.lang.Object bean)
IndexedBeanWrapper実装クラスを取得する。

パラメータ:
bean - ターゲットのBean
戻り値:
IndexedBeanWrapperの実装

getParamClass

protected java.lang.Class[] getParamClass(org.apache.commons.validator.ValidatorAction va)
検証ルールに渡される引数クラス配列を取得する。

パラメータ:
va - Validatorにより用意されたValidatorAction
戻り値:
引数クラス配列

getMethod

protected java.lang.reflect.Method getMethod(org.apache.commons.validator.ValidatorAction va,
                                             java.lang.Class[] paramClass)
配列・コレクションの要素を検証するメソッドを取得する。

パラメータ:
va - ValidatorAction
paramClass - 引数クラス配列
戻り値:
検証メソッド

validateMultiField

public boolean validateMultiField(java.lang.Object bean,
                                  org.apache.commons.validator.ValidatorAction va,
                                  org.apache.commons.validator.Field field,
                                  ValidationErrors errors)
複数フィールドの相関チェックを行う。 この検証ルールの実行にはMultiFieldValidator の実装クラスが必要。
実装したクラスは validation.xml に設定を行う。
エラーとなった場合には、エラー情報を生成し、 指定されたエラー情報リストに追加する。 この検証ルールにはデフォルトのエラーメッセージがないため、 メッセージは validation.xml に必ず記述すること。
valueフィールドの値が、value1フィールドの値以上、 value2フィールドの値以下であることを検証する場合、以下のように実装、 設定を行う。
MultiFieldValidator の実装例
 public boolean validate(Object value, Object[] depends) {
     int value0 = Integer.parseInt(value);
     int value1 = Integer.parseInt(depends[0]);
     int value2 = Integer.parseInt(depends[1]);
     return (value1 <= value0 && value2 >= value0);
 }
 
validation.xmlの設定例
 <form name="/validateMultiField">
   <field property="value" depends="multiField">
     <msg key="errors.multiField"
             name="multiField"/>
     <arg key="label.value" position="0" />
     <arg key="label.value1" position="1" />
     <arg key="label.value2" position="2" />
     <var>
       <var-name>fields</var-name>
       <var-value>value1,value2</var-value>
     </var>
     <var>
       <var-name>multiFieldValidator</var-name>
       <var-value>sample.SampleMultiFieldValidator</var-value>
     </var>
   </field>
 </form>
 
メッセージリソースファイルの設定例
errors.multiField={0}は{1}から{2}の間の値を入力してください。
validation.xmlに設定を要する<var>要素
var-name
var-value
必須性
概要
fields 検証に必要な他のフィールド名 false 複数のフィールドを指定する場合はフィールド名をカンマ区切りで 指定する。
multiFieldValidator MultiFieldValidator 実装クラス名 true 複数フィールドの相関チェックを行う MultiFieldValidator 実装クラス名。

パラメータ:
bean - 検査対象のオブジェクト
va - Validatorにより用意されたValidatorAction
field - フィールドオブジェクト
errors - エラー
戻り値:
入力値が正しければ true

extractValue

protected java.lang.String extractValue(java.lang.Object bean,
                                        org.apache.commons.validator.Field field)
オブジェクトから検証値を取り出す。beanがNullの場合はNullを返す。 beanがString型の場合、beanを返す。 beanがNumber型とBoolean型とCharacter型の場合、bean.toString()を返す。 それ以外の場合、beanとFieldオブジェクトの値から、 ValidatorUtilsクラスのメソッドを利用して値を取得する。

パラメータ:
bean - 検証対象のオブジェクト。
field - Fieldオブジェクト。
戻り値:
検証値。
関連項目:
ValidatorUtils.getValueAsString(Object, String)

rejectValue

protected void rejectValue(ValidationErrors errors,
                           org.apache.commons.validator.Field field,
                           org.apache.commons.validator.ValidatorAction va,
                           java.lang.Object bean)
入力チェックエラーが生じた場合に、エラー情報を、 TERASOLUNA共通のエラーインタフェースに引き渡す。

パラメータ:
errors - エラー
va - Validatorにより用意されたValidatorAction
field - フィールドインスタンス
bean - 入力エラーが生じたJavaBeanインスタンス