Class NumberRangeValidator

java.lang.Object
nablarch.core.validation.validator.NumberRangeValidator
All Implemented Interfaces:
DirectCallableValidator, Validator

public class NumberRangeValidator extends 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 Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    Class<? extends Annotation>
    対応するアノテーションのクラスを取得する。
    void
    setMaxAndMinMessageId(String maxAndMinMessageId)
    バリデーションの条件に最大値と最小値が指定されていた場合のデフォルトのエラーメッセージのメッセージIDを設定する。
    例 : "{0}は{1}以上{2}以下で入力してください。"
    void
    setMaxMessageId(String maxMessageId)
    バリデーションの条件に最大値のみが指定されていた場合のデフォルトのエラーメッセージのメッセージID。
    例 : "{0}は{2}以下で入力してください。"
    void
    setMinMessageId(String minMessageId)
    バリデーションの条件に最小値のみが指定されていた場合のデフォルトのエラーメッセージのメッセージIDを設定する。
    例 : "{0}は{1}以上で入力してください。"
    <T> boolean
    validate(ValidationContext<T> context, String propertyName, Object propertyDisplayName, Annotation annotation, Object value)
    バリデーションを実行する。
    対応するチェックの結果がNGであった場合、ValidationContextにエラーメッセージを追加し、falseを返す。
    <T> boolean
    validate(ValidationContext<T> context, String propertyName, Object propertyDisplayName, Map<String,Object> params, Object value)
    バリデーションを実行する。
    対応するチェックの結果がNGであった場合、ValidationContextにエラーメッセージを追加し、falseを返す。

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • NumberRangeValidator

      public NumberRangeValidator()
  • Method Details

    • setMaxMessageId

      public void setMaxMessageId(String maxMessageId)
      バリデーションの条件に最大値のみが指定されていた場合のデフォルトのエラーメッセージのメッセージID。
      例 : "{0}は{2}以下で入力してください。"
      Parameters:
      maxMessageId - バリデーションの条件に最大値のみが指定されていた場合のデフォルトのエラーメッセージのメッセージID。
    • setMaxAndMinMessageId

      public void setMaxAndMinMessageId(String maxAndMinMessageId)
      バリデーションの条件に最大値と最小値が指定されていた場合のデフォルトのエラーメッセージのメッセージIDを設定する。
      例 : "{0}は{1}以上{2}以下で入力してください。"
      Parameters:
      maxAndMinMessageId - バリデーションの条件に最大値と最小値が指定されていた場合のデフォルトのエラーメッセージのメッセージID
    • setMinMessageId

      public void setMinMessageId(String minMessageId)
      バリデーションの条件に最小値のみが指定されていた場合のデフォルトのエラーメッセージのメッセージIDを設定する。
      例 : "{0}は{1}以上で入力してください。"
      Parameters:
      minMessageId - バリデーションの条件に最小値のみが指定されていた場合のデフォルトのエラーメッセージのメッセージID
    • getAnnotationClass

      public Class<? extends Annotation> getAnnotationClass()
      対応するアノテーションのクラスを取得する。
      Specified by:
      getAnnotationClass in interface Validator
      Returns:
      対応するアノテーションのクラス
    • validate

      public <T> boolean validate(ValidationContext<T> context, String propertyName, Object propertyDisplayName, Annotation annotation, Object value)
      バリデーションを実行する。
      対応するチェックの結果がNGであった場合、ValidationContextにエラーメッセージを追加し、falseを返す。
      Specified by:
      validate in interface Validator
      Type Parameters:
      T - バリデーション結果で取得できる型
      Parameters:
      context - バリデーションコンテキスト
      propertyName - プロパティ名
      propertyDisplayName - プロパティの表示名オブジェクト
      annotation - アノテーション
      value - バリデーション対象の値
      Returns:
      バリデーションに通った場合true
    • validate

      public <T> boolean validate(ValidationContext<T> context, String propertyName, Object propertyDisplayName, Map<String,Object> params, Object value)
      バリデーションを実行する。
      対応するチェックの結果がNGであった場合、ValidationContextにエラーメッセージを追加し、falseを返す。
      Specified by:
      validate in interface DirectCallableValidator
      Type Parameters:
      T - バリデーション結果で取得できる型
      Parameters:
      context - バリデーションコンテキスト
      propertyName - プロパティ名
      propertyDisplayName - プロパティの表示名オブジェクト
      params - バリデーション処理に対するパラメータを格納したMap (アノテーションの属性と同内容)
      value - バリデーション対象の値
      Returns:
      バリデーションに通った場合true