Package nablarch.common.code.validator
Class CodeValueValidator
java.lang.Object
nablarch.core.validation.validator.StringValidatorSupport<CodeValue>
nablarch.common.code.validator.CodeValueValidator
- All Implemented Interfaces:
DirectCallableValidator
,Validator
コード値をチェックするクラス。
CodeValue
で指定したコード値と、プロパティの値が合致するかチェックする。
使用するための設定
本バリデータを使用するためにはデフォルトのメッセージIDを指定する必要がある。
<component name="codeValueValidator" class="nablarch.common.code.validator.CodeValueValidator">
<property name="messageId" value="MSGXXXXXX"/>
</component>
プロパティの設定
プロパティのセッタにCodeValue
アノテーションを次のように設定する。
genderがcodeIdとpatternで選択された値と合致するかチェック@PropertyName("性別")
@CodeValue(codeId="0001", pattern="PATTERN1")
public String setGender(String gender) { this.gender = gender; }
genderがコード値として有効であるかのみをチェック@PropertyName("性別")
@CodeValue(codeId="0001")
public String setGender(String gender) { this.gender = gender; }
- Author:
- Koichi Asano
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncreateAnnotation
(Map<String, Object> params) 指定されたパラメータを属性値とするアノテーションオブジェクトを作成する。Class<? extends Annotation>
対応するアノテーションのクラスを取得する。void
setMessageId
(String messageId) コードに含まれない値が指定された場合のデフォルトのエラーメッセージのメッセージIDを設定する。
例 : "{0}には\"{1}\"のいずれかの値を指定してください。"
※通常コードは画面上のドロップダウンやセレクトボックスで選択することが多い。 この場合、このエラーメッセージはプログラムバグかユーザによるプログラム改竄以外に表示されることはない。 このため、本エラーメッセージはインプットボックスでコードを入力するという特殊な入力を行う画面以外では使用されない。<T> boolean
validateSingleValue
(ValidationContext<T> context, String propertyName, Object propertyDisplayObject, CodeValue codeValue, String value) 1つの入力値に対するバリデーションを行う。Methods inherited from class nablarch.core.validation.validator.StringValidatorSupport
validate, validate
-
Constructor Details
-
CodeValueValidator
public CodeValueValidator()
-
-
Method Details
-
setMessageId
コードに含まれない値が指定された場合のデフォルトのエラーメッセージのメッセージIDを設定する。
例 : "{0}には\"{1}\"のいずれかの値を指定してください。"
※通常コードは画面上のドロップダウンやセレクトボックスで選択することが多い。 この場合、このエラーメッセージはプログラムバグかユーザによるプログラム改竄以外に表示されることはない。 このため、本エラーメッセージはインプットボックスでコードを入力するという特殊な入力を行う画面以外では使用されない。- Parameters:
messageId
- コードに含まれない値が指定された場合のデフォルトのエラーメッセージのメッセージID
-
getAnnotationClass
対応するアノテーションのクラスを取得する。- Returns:
- 対応するアノテーションのクラス
-
validateSingleValue
public <T> boolean validateSingleValue(ValidationContext<T> context, String propertyName, Object propertyDisplayObject, CodeValue codeValue, String value) 1つの入力値に対するバリデーションを行う。
コード値の有効性をチェックするバリデーションを行なう。- Specified by:
validateSingleValue
in classStringValidatorSupport<CodeValue>
- Type Parameters:
T
- バリデーション結果で取得できる型- Parameters:
context
- バリデーションコンテキストpropertyName
- プロパティ名propertyDisplayObject
- プロパティの表示名オブジェクトcodeValue
- アノテーションvalue
- バリデーション対象の値- Returns:
- バリデーションに通った場合true
-
createAnnotation
Description copied from class:StringValidatorSupport
指定されたパラメータを属性値とするアノテーションオブジェクトを作成する。- Specified by:
createAnnotation
in classStringValidatorSupport<CodeValue>
- Parameters:
params
- アノテーションの属性値を格納したMap- Returns:
- アノテーション
-