public class NumberRangeValidator extends java.lang.Object implements DirectCallableValidator
入力された値が、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 and Description |
---|
NumberRangeValidator() |
Modifier and Type | Method and Description |
---|---|
java.lang.Class<? extends java.lang.annotation.Annotation> |
getAnnotationClass()
対応するアノテーションのクラスを取得する。
|
void |
setMaxAndMinMessageId(java.lang.String maxAndMinMessageId)
バリデーションの条件に最大値と最小値が指定されていた場合のデフォルトのエラーメッセージのメッセージIDを設定する。
例 : "{0}は{1}以上{2}以下で入力してください。" |
void |
setMaxMessageId(java.lang.String maxMessageId)
バリデーションの条件に最大値のみが指定されていた場合のデフォルトのエラーメッセージのメッセージID。
例 : "{0}は{2}以下で入力してください。" |
void |
setMinMessageId(java.lang.String minMessageId)
バリデーションの条件に最小値のみが指定されていた場合のデフォルトのエラーメッセージのメッセージIDを設定する。
例 : "{0}は{1}以上で入力してください。" |
<T> boolean |
validate(ValidationContext<T> context,
java.lang.String propertyName,
java.lang.Object propertyDisplayName,
java.lang.annotation.Annotation annotation,
java.lang.Object value)
バリデーションを実行する。
対応するチェックの結果がNGであった場合、ValidationContextにエラーメッセージを追加し、falseを返す。 |
<T> boolean |
validate(ValidationContext<T> context,
java.lang.String propertyName,
java.lang.Object propertyDisplayName,
java.util.Map<java.lang.String,java.lang.Object> params,
java.lang.Object value)
バリデーションを実行する。
対応するチェックの結果がNGであった場合、ValidationContextにエラーメッセージを追加し、falseを返す。 |
public void setMaxMessageId(java.lang.String maxMessageId)
maxMessageId
- バリデーションの条件に最大値のみが指定されていた場合のデフォルトのエラーメッセージのメッセージID。public void setMaxAndMinMessageId(java.lang.String maxAndMinMessageId)
maxAndMinMessageId
- バリデーションの条件に最大値と最小値が指定されていた場合のデフォルトのエラーメッセージのメッセージIDpublic void setMinMessageId(java.lang.String minMessageId)
minMessageId
- バリデーションの条件に最小値のみが指定されていた場合のデフォルトのエラーメッセージのメッセージIDpublic java.lang.Class<? extends java.lang.annotation.Annotation> getAnnotationClass()
getAnnotationClass
in interface Validator
public <T> boolean validate(ValidationContext<T> context, java.lang.String propertyName, java.lang.Object propertyDisplayName, java.lang.annotation.Annotation annotation, java.lang.Object value)
public <T> boolean validate(ValidationContext<T> context, java.lang.String propertyName, java.lang.Object propertyDisplayName, java.util.Map<java.lang.String,java.lang.Object> params, java.lang.Object value)
validate
in interface DirectCallableValidator
T
- バリデーション結果で取得できる型context
- バリデーションコンテキストpropertyName
- プロパティ名propertyDisplayName
- プロパティの表示名オブジェクトparams
- バリデーション処理に対するパラメータを格納したMap (アノテーションの属性と同内容)value
- バリデーション対象の値