public class CodeValueValidator extends StringValidatorSupport<CodeValue>
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; }
コンストラクタと説明 |
---|
CodeValueValidator() |
修飾子とタイプ | メソッドと説明 |
---|---|
CodeValue |
createAnnotation(java.util.Map<java.lang.String,java.lang.Object> params)
指定されたパラメータを属性値とするアノテーションオブジェクトを作成する。
|
java.lang.Class<? extends java.lang.annotation.Annotation> |
getAnnotationClass()
対応するアノテーションのクラスを取得する。
|
void |
setMessageId(java.lang.String messageId)
コードに含まれない値が指定された場合のデフォルトのエラーメッセージのメッセージIDを設定する。
|
<T> boolean |
validateSingleValue(ValidationContext<T> context,
java.lang.String propertyName,
java.lang.Object propertyDisplayObject,
CodeValue codeValue,
java.lang.String value)
1つの入力値に対するバリデーションを行う。
|
validate, validate
public void setMessageId(java.lang.String messageId)
messageId
- コードに含まれない値が指定された場合のデフォルトのエラーメッセージのメッセージIDpublic java.lang.Class<? extends java.lang.annotation.Annotation> getAnnotationClass()
public <T> boolean validateSingleValue(ValidationContext<T> context, java.lang.String propertyName, java.lang.Object propertyDisplayObject, CodeValue codeValue, java.lang.String value)
validateSingleValue
クラス内 StringValidatorSupport<CodeValue>
T
- バリデーション結果で取得できる型context
- バリデーションコンテキストpropertyName
- プロパティ名propertyDisplayObject
- プロパティの表示名オブジェクトcodeValue
- アノテーションvalue
- バリデーション対象の値public CodeValue createAnnotation(java.util.Map<java.lang.String,java.lang.Object> params)
StringValidatorSupport
createAnnotation
クラス内 StringValidatorSupport<CodeValue>
params
- アノテーションの属性値を格納したMap