Class NumberRangeValidator
java.lang.Object
nablarch.core.validation.validator.NumberRangeValidator
- All Implemented Interfaces:
DirectCallableValidator,Validator
数値の範囲をチェックするクラス。
入力された値が、NumberRangeアノテーションのプロパティに設定された値の範囲内であるかチェックする。
使用するための設定
本バリデータを使用するためにはデフォルトのエラーメッセージIDを指定する必要がある。
<component name="numberRangeValidator" class="nablarch.core.validation.validator.NumberRangeValidator">
<property name="maxMessageId" value="MSGXXXXXX"/>
<property name="maxAndMinMessageId" value="MSGXXXXXX"/>
<property name="minMessageId" value="MSGXXXXXX"/>
</component>
プロパティの設定
範囲チェックをしたいプロパティのセッタにNumberRangeアノテーションを次のように設定する。
入力値が1以上10以下の範囲内であるかチェックする@PropertyName("売上高")@NumberRange(min = 1, max = 10)public void setSales(Integer sales){ this.sales = sales; }入力値が-1.5以上1.5以下の範囲内であるかチェックする@PropertyName("売上高")@NumberRange(min = -1.5, max = 1.5)public void setSales(Integer sales){ this.sales = sales; }入力値が0以上であるかチェックする@PropertyName("売上高")@NumberRange(min = 0)public void setSales(Integer sales){ this.sales = sales; }
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionClass<? extends Annotation>対応するアノテーションのクラスを取得する。voidsetMaxAndMinMessageId(String maxAndMinMessageId) バリデーションの条件に最大値と最小値が指定されていた場合のデフォルトのエラーメッセージのメッセージIDを設定する。
例 : "{0}は{1}以上{2}以下で入力してください。"voidsetMaxMessageId(String maxMessageId) バリデーションの条件に最大値のみが指定されていた場合のデフォルトのエラーメッセージのメッセージID。
例 : "{0}は{2}以下で入力してください。"voidsetMinMessageId(String minMessageId) バリデーションの条件に最小値のみが指定されていた場合のデフォルトのエラーメッセージのメッセージIDを設定する。
例 : "{0}は{1}以上で入力してください。"<T> booleanvalidate(ValidationContext<T> context, String propertyName, Object propertyDisplayName, Annotation annotation, Object value) バリデーションを実行する。
対応するチェックの結果がNGであった場合、ValidationContextにエラーメッセージを追加し、falseを返す。<T> booleanvalidate(ValidationContext<T> context, String propertyName, Object propertyDisplayName, Map<String, Object> params, Object value) バリデーションを実行する。
対応するチェックの結果がNGであった場合、ValidationContextにエラーメッセージを追加し、falseを返す。
-
Constructor Details
-
NumberRangeValidator
public NumberRangeValidator()
-
-
Method Details
-
setMaxMessageId
バリデーションの条件に最大値のみが指定されていた場合のデフォルトのエラーメッセージのメッセージID。
例 : "{0}は{2}以下で入力してください。"- Parameters:
maxMessageId- バリデーションの条件に最大値のみが指定されていた場合のデフォルトのエラーメッセージのメッセージID。
-
setMaxAndMinMessageId
バリデーションの条件に最大値と最小値が指定されていた場合のデフォルトのエラーメッセージのメッセージIDを設定する。
例 : "{0}は{1}以上{2}以下で入力してください。"- Parameters:
maxAndMinMessageId- バリデーションの条件に最大値と最小値が指定されていた場合のデフォルトのエラーメッセージのメッセージID
-
setMinMessageId
バリデーションの条件に最小値のみが指定されていた場合のデフォルトのエラーメッセージのメッセージIDを設定する。
例 : "{0}は{1}以上で入力してください。"- Parameters:
minMessageId- バリデーションの条件に最小値のみが指定されていた場合のデフォルトのエラーメッセージのメッセージID
-
getAnnotationClass
対応するアノテーションのクラスを取得する。- Specified by:
getAnnotationClassin interfaceValidator- Returns:
- 対応するアノテーションのクラス
-
validate
public <T> boolean validate(ValidationContext<T> context, String propertyName, Object propertyDisplayName, Annotation annotation, Object value) バリデーションを実行する。
対応するチェックの結果がNGであった場合、ValidationContextにエラーメッセージを追加し、falseを返す。 -
validate
public <T> boolean validate(ValidationContext<T> context, String propertyName, Object propertyDisplayName, Map<String, Object> params, Object value) バリデーションを実行する。
対応するチェックの結果がNGであった場合、ValidationContextにエラーメッセージを追加し、falseを返す。- Specified by:
validatein interfaceDirectCallableValidator- Type Parameters:
T- バリデーション結果で取得できる型- Parameters:
context- バリデーションコンテキストpropertyName- プロパティ名propertyDisplayName- プロパティの表示名オブジェクトparams- バリデーション処理に対するパラメータを格納したMap (アノテーションの属性と同内容)value- バリデーション対象の値- Returns:
- バリデーションに通った場合true
-