Package nablarch.core.validation
Class ValidationManager
java.lang.Object
nablarch.core.validation.ValidationManager
- All Implemented Interfaces:
Initializable
バリデーションとデータの変換を行うクラス。
実際のバリデーションとデータの変換はバリデータとコンバータに委譲する。
実際のバリデーションとデータの変換はバリデータとコンバータに委譲する。
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected <T> Object
createPropertyDisplayNameObject
(ValidationContext<T> context, PropertyValidationDefinition propertyDef) プロパティの表示名を表すオブジェクトを作成する。<T> ValidationContext<T>
createValidationContext
(Class<T> targetClass, Map<String, ?> params, String innerPrefix, String validateFor) ValidationContext
を生成する。protected Annotation
getFormatAnnotation
(Annotation convertorFormatAnnotation) Convertor
に渡すフォーマットを指定するアノテーションを取得する。void
初期化処理を行う。void
setConvertors
(List<Convertor> convertors) コンバータのリストをセットする。void
setDomainValidationHelper
(DomainValidationHelper domainValidationHelper) ドメイン定義によるバリデーションをサポートするヘルパークラスを設定する。void
setFormArraySizeValueMaxLength
(int formArraySizeKeyMaxLength) フォーム配列サイズ文字列の最大長を設定する。void
setFormCreator
(FormCreator formCreator) フォームの生成クラスをセットする。
セットしなかった場合、MapConstructorFormCreatorが使用される。void
setFormDefinitionCache
(StaticDataCache<FormValidationDefinition> formDefinitionCache) FormValidationDefinitionをキャッシュするStaticDataCacheをセットする。void
setInvalidSizeKeyMessageId
(String invalidSizeKeyLengthMessageId) ValidationTargetアノテーションのsizeKeyに不正な長さを指定した際のエラーメッセージIDを設定する。void
setMessageResource
(StringResourceHolder stringResourceHolder) メッセージリソースをセットする。void
setUseFormPropertyNameAsMessageId
(boolean useFormPropertyNameAsMessageId) フォームのプロパティ名をデフォルトのメッセージIDとして使用するかどうかの設定値を設定する。void
setValidators
(List<Validator> validators) バリデータのリストをセットする。<T> void
validate
(ValidationContext<T> context, String[] propertyNames) バリデーション対象のプロパティを指定してバリデーションを行う。<T> void
validate
(ValidationContext<T> context, String propertyName, Class<? extends Annotation> annotation, Map<String, Object> params) 指定されたバリデーションアノテーションに沿ったバリデーション処理を行う。<T> ValidationContext<T>
バリデーションと値の変換を行う。protected <T> void
validateAndConvertAllProperty
(ValidationContext<T> context, FormValidationDefinition formValidationDefinition) フォームのバリデーションと変換を行う。protected <T> void
validateAndConvertProperty
(ValidationContext<T> context, FormValidationDefinition formDef, PropertyValidationDefinition propertyDef) プロパティに対するバリデーションと変換を行う。<T> void
validateWithout
(ValidationContext<T> context, String[] propertyNames) バリデーション対象外のプロパティを指定してバリデーションを行う。
-
Constructor Details
-
ValidationManager
public ValidationManager()
-
-
Method Details
-
setFormDefinitionCache
FormValidationDefinitionをキャッシュするStaticDataCacheをセットする。- Parameters:
formDefinitionCache
- FormValidationDefinitionを保持するStaticDataCache
-
setFormCreator
フォームの生成クラスをセットする。
セットしなかった場合、MapConstructorFormCreatorが使用される。- Parameters:
formCreator
- フォームの生成クラス
-
setMessageResource
@IgnoreProperty("MessageUtil\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u30ea\u30bd\u30fc\u30b9\u3092\u4f7f\u7528\u3059\u308b\u3088\u3046\u4ed5\u69d8\u5909\u66f4\u3092\u884c\u3063\u305f\u305f\u3081\u672c\u30d7\u30ed\u30d1\u30c6\u30a3\u306f\u5ec3\u6b62\u3057\u307e\u3057\u305f\u3002(\u5024\u3092\u8a2d\u5b9a\u3057\u3066\u3082\u610f\u5473\u304c\u3042\u308a\u307e\u305b\u3093)") public void setMessageResource(StringResourceHolder stringResourceHolder) メッセージリソースをセットする。MessageUtilのメッセージリソースを使用するよう仕様変更を行ったため本プロパティは廃止しました。(値を設定しても意味がありません)
- Parameters:
stringResourceHolder
- メッセージリソース
-
setConvertors
コンバータのリストをセットする。- Parameters:
convertors
- セットするコンバータのリスト
-
setValidators
バリデータのリストをセットする。- Parameters:
validators
- バリデータのリスト
-
setUseFormPropertyNameAsMessageId
public void setUseFormPropertyNameAsMessageId(boolean useFormPropertyNameAsMessageId) フォームのプロパティ名をデフォルトのメッセージIDとして使用するかどうかの設定値を設定する。- Parameters:
useFormPropertyNameAsMessageId
- フォームのプロパティ名をデフォルトのメッセージIDとして使用するかどうかの設定値。
-
setFormArraySizeValueMaxLength
public void setFormArraySizeValueMaxLength(int formArraySizeKeyMaxLength) フォーム配列サイズ文字列の最大長を設定する。- Parameters:
formArraySizeKeyMaxLength
- フォーム配列サイズ文字列の最大長
-
setInvalidSizeKeyMessageId
ValidationTargetアノテーションのsizeKeyに不正な長さを指定した際のエラーメッセージIDを設定する。- Parameters:
invalidSizeKeyLengthMessageId
- ValidationTargetアノテーションのsizeKeyに不正な長さを指定した際のエラーメッセージID
-
initialize
public void initialize()初期化処理を行う。- Specified by:
initialize
in interfaceInitializable
- See Also:
-
validateAndConvert
@Published(tag="architect") public <T> ValidationContext<T> validateAndConvert(String prefix, Class<T> targetClass, Map<String, ?> params, String validateFor) バリデーションと値の変換を行う。- Type Parameters:
T
- バリデーション結果で取得できる型- Parameters:
prefix
- Mapに入ったキーのプレフィクスtargetClass
- バリデーション対象のフォームのクラスparams
- バリデーション対象のデータvalidateFor
- バリデーション対象メソッド- Returns:
- バリデーション結果の入ったValidationContext
-
createValidationContext
@Published(tag="architect") public <T> ValidationContext<T> createValidationContext(Class<T> targetClass, Map<String, ?> params, String innerPrefix, String validateFor) ValidationContext
を生成する。- Type Parameters:
T
- バリデーション結果で取得できる型- Parameters:
targetClass
- バリデーション対象のフォームのクラスparams
- バリデーション対象のデータinnerPrefix
- Mapに入ったキーのプレフィクスvalidateFor
- バリデーション対象メソッド- Returns:
ValidationContext
-
validateAndConvertAllProperty
protected <T> void validateAndConvertAllProperty(ValidationContext<T> context, FormValidationDefinition formValidationDefinition) フォームのバリデーションと変換を行う。- Type Parameters:
T
- バリデーション結果で取得できる型- Parameters:
context
- ValidationContextformValidationDefinition
- FormValidationDefinition
-
validateAndConvertProperty
protected <T> void validateAndConvertProperty(ValidationContext<T> context, FormValidationDefinition formDef, PropertyValidationDefinition propertyDef) プロパティに対するバリデーションと変換を行う。- Type Parameters:
T
- バリデーション結果で取得できる型- Parameters:
context
- ValidationContextformDef
- FormValidationDefinitionpropertyDef
- PropertyValidationDefinition
-
setDomainValidationHelper
ドメイン定義によるバリデーションをサポートするヘルパークラスを設定する。- Parameters:
domainValidationHelper
- ドメイン定義によるバリデーションをサポートするヘルパークラス
-
getFormatAnnotation
Convertor
に渡すフォーマットを指定するアノテーションを取得する。 指定されたコンバータのアノテーションがドメイン定義の場合は、ドメイン定義に指定されたコンバータアノテーションを返す。 それ以外の場合は、指定されたコンバータのアノテーションをそのまま返す。- Parameters:
convertorFormatAnnotation
- コンバータのアノテーション- Returns:
Convertor
に渡すフォーマットを指定するアノテーション
-
validate
public <T> void validate(ValidationContext<T> context, String propertyName, Class<? extends Annotation> annotation, Map<String, Object> params) 指定されたバリデーションアノテーションに沿ったバリデーション処理を行う。- Type Parameters:
T
- バリデーション結果で取得できる型- Parameters:
context
- ValidationContextpropertyName
- バリデーション対象のプロパティ名annotation
- バリデーションアノテーションクラスparams
- バリデーションアノテーションのパラメータ
-
createPropertyDisplayNameObject
protected <T> Object createPropertyDisplayNameObject(ValidationContext<T> context, PropertyValidationDefinition propertyDef) プロパティの表示名を表すオブジェクトを作成する。- Type Parameters:
T
- バリデーション結果で取得できる型- Parameters:
context
- ValidationContextpropertyDef
- PropertyValidationDefinition- Returns:
- プロパティの表示名を表すオブジェクト
-
validate
@Published(tag="architect") public <T> void validate(ValidationContext<T> context, String[] propertyNames) バリデーション対象のプロパティを指定してバリデーションを行う。- Type Parameters:
T
- バリデーション結果で取得できる型- Parameters:
context
- ValidationContextpropertyNames
- バリデーション対象とするプロパティ名の配列
-
validateWithout
@Published(tag="architect") public <T> void validateWithout(ValidationContext<T> context, String[] propertyNames) バリデーション対象外のプロパティを指定してバリデーションを行う。- Type Parameters:
T
- バリデーション結果で取得できる型- Parameters:
context
- ValidationContextpropertyNames
- バリデーション対象としないプロパティ名の配列
-