パッケージ jakarta.faces.validator

クラス BeanValidator

    • コンストラクターのサマリー

      コンストラクター  
      コンストラクター 説明
      BeanValidator()
    • メソッドのサマリー

      すべてのメソッド   インスタンスメソッド   具象メソッド  
      修飾子と型 メソッド 説明
      voidclearInitialState()
      PartialStateHolder を非デルタ追跡状態にリセットします。
      StringSEgetValidationGroups()
      制約をチェックするときに ValidationAPI に渡された検証グループを返します。
      booleaninitialStateMarked()
      デルタ状態の変更が追跡されている場合は true を返し、それ以外の場合は false を返します。
      booleanisTransient()
      true の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。
      voidmarkInitialState()
      ランタイムは、コンポーネントが初期状態であることを示すために、適切な時間にビュー内のこのインターフェースの各インスタンスで PartialStateHolder.markInitialState() メソッドが呼び出されることを確認する必要があります。
      voidrestoreState​(FacesContext context, ObjectSE state)
      state オブジェクトのエントリから状態を復元するために必要な処理を実行します。
      ObjectSEsaveState​(FacesContext context)
      インスタンスの状態を Serializable オブジェクトとして取得します。
      voidsetTransient​(boolean transientValue)
      このインターフェースを実装するオブジェクトが状態の保存または復元に参加する必要があるかどうかを示します
      voidsetValidationGroups​(StringSE validationGroups)
      このバリデーターによってチェックされる検証をフィルタリングするために使用される検証グループのコンマ区切りのリスト。
      voidvalidate​(FacesContext context, UIComponent component, ObjectSE value)
      Bean 検証制約に従って値が有効であることを確認します。
    • フィールドの詳細

      • VALIDATOR_ID

        public static final StringSE VALIDATOR_ID

        Jakarta Server Face 仕様で定義されている、このバリデーターの標準バリデーター ID。

        関連事項:
        定数フィールド値
      • MESSAGE_ID

        public static final StringSE MESSAGE_ID

        制約の失敗が見つかった場合に作成される FacesMessage のメッセージ ID。このメッセージのメッセージ形式の文字列には、オプションで次のプレースホルダーを含めることができます。

        • {0} は、Bean 検証からの補間メッセージに置き換えられました。
        • {1} は、値がこのメッセージを生成した入力コンポーネントのラベルである String に置き換えられました。

        デフォルトの実装で提供されるメッセージ形式の文字列は、プレースホルダー {0} である必要があります。これにより、メッセージ処理が Bean 検証に完全に委譲されます。開発者は、このメッセージ形式の文字列をオーバーライドして、他の Jakarta Server Face バリデーターメッセージに準拠させることができます。(つまり、コンポーネントラベルを含めること)

        関連事項:
        定数フィールド値
      • VALIDATOR_FACTORY_KEY

        public static final StringSE VALIDATOR_FACTORY_KEY

        Validator インスタンスを取得するために Jakarta Faces によって使用されるオブジェクトを保持する Jakarta Servlet コンテキスト属性の名前。Jakarta Servlet コンテキスト属性が欠落しているか、NULL 値が含まれている場合、Jakarta Server Faces はこの Jakarta Servlet コンテキスト属性を自由に使用して、このバリデーターによってブートストラップされた ValidatorFactory を保管できます。

        関連事項:
        定数フィールド値
      • VALIDATION_GROUPS_DELIMITER

        public static final StringSE VALIDATION_GROUPS_DELIMITER

        完全修飾グループ名のリストを文字列として区切るために使用される区切り文字。

        関連事項:
        定数フィールド値
      • EMPTY_VALIDATION_GROUPS_PATTERN

        public static final StringSE EMPTY_VALIDATION_GROUPS_PATTERN

        検証グループの空のリストを識別する正規表現パターン。

        関連事項:
        定数フィールド値
      • DISABLE_DEFAULT_BEAN_VALIDATOR_PARAM_NAME

        public static final StringSE DISABLE_DEFAULT_BEAN_VALIDATOR_PARAM_NAME

        このパラメーターが定義されていて、その値の String 表現で toLowerCase().equals(“true”) を呼び出すと true が返される場合、ランタイムは、シンボリック定数 VALIDATOR_ID の値に等しい validator-id を持つバリデーターをデフォルトのバリデーターのリストに自動的に追加してはなりません。このパラメーターを true に設定すると、アプリケーションのすべてのビューのすべての入力コンポーネントへの Bean 検証の自動インストールが無効になりますが、手動インストールは引き続き可能です。

        関連事項:
        定数フィールド値
    • コンストラクターの詳細

      • BeanValidator

        public BeanValidator()
    • メソッドの詳細

      • setValidationGroups

        public void setValidationGroups​(StringSE validationGroups)

        この検証によってチェックされる検証をフィルタリングするために使用される検証グループのコンマ区切りリスト。validationGroupsArray 属性が省略されているか空の場合、検証グループは ブランチデフォルトから継承されます。ブランチデフォルトがない場合は、Default グループが使用されます。

        パラメーター:
        validationGroups - 検証グループのコンマ区切りリスト (スペースとコンマのみが null として扱われる文字列)
      • getValidationGroups

        public StringSE getValidationGroups()

        制約をチェックするときに検証 API に渡される検証グループを返します。validationGroupsArray 属性が省略されているか空の場合、検証グループは ブランチデフォルトから継承されます。ブランチデフォルトがない場合は、Default グループが使用されます。

        戻り値:
        validatinGroups 属性の値。
      • validate

        public void validate​(FacesContext context,
                             UIComponent component,
                             ObjectSE value)

        Bean 検証制約に従って値が有効であることを確認します。

        Validation.buildDefaultValidatorFactory() を呼び出して、ValidatorFactory インスタンスを取得します。

        validationGroupsArray を、このバリデーターのタグハンドラーによってコンポーネントに設定されたバリデーターグループを表す Class[] とします。最初の検索コンポーネントは、検証グループ値の検索を終了します。そのような値が見つからない場合は、検証グループの値として Default のクラス名を使用します。

        valueExpression は、引数コンポーネントUIComponent.getValueExpression(java.lang.String) を呼び出して、リテラル文字列 "value" (引用符なし)を引数として渡したときの戻り値とします。このアプリケーションが Jakarta Expression Language のある環境で実行されている場合は、valueExpression から ValueReference を取得し、valueBaseClase は ValueReference.getBase() を呼び出して返された値、valueProperty は ValueReference.getProperty() を呼び出して返された値とします。Jakarta Expression Language の以前のバージョンが存在する場合は、適切な方法を使用して valueExpression をインスペクションし、valueBaseClassvalueProperty の値を導出します。

        ValueReference を取得できない場合は、何もせずに戻ってください。

        ValueReference.getBase() が null を返す場合は、何もせずに戻ります。

        ValidatorFactory から ValidatorContext を取得します。

        ValidatorFactory.getMessageInterpolator() から返された MessageInterpolator を、UIViewRoot.getLocale() から返された Locale を活用するもので装飾し、ValidatorContext.messageInterpolator(jakarta.validation.MessageInterpolator) を使用して ValidatorContext に保存します。

        validatorContext から Validator インスタンスを取得します。

        jakarta.validation.Validator から jakarta.validation.BeanDescriptor を取得します。BeanDescriptor の hasConstraints() が false を返す場合は、何もせずに戻ります。それ以外の場合は続行します。

        Validator.validateValue(java.lang.Class<T>, java.lang.String, java.lang.Object, java.lang.Class<?>...) を呼び出し、valueBaseClassvalueProperty引数、validatorGroupsArray を引数として渡します。

        返された Set<ConstraintViolation> が空でない場合は、Set の各要素について、FacesMessage を作成します。ここで、要約と詳細は ConstraintViolation.getMessage() の呼び出しからの戻り値です。そのようなすべての FacesMessage インスタンスを Collection にキャプチャーし、ValidatorException(java.util.Collection) に渡します。ENABLE_VALIDATE_WHOLE_BEAN_PARAM_NAME アプリケーションパラメーターが有効で、この Validator インスタンスに Default グループ以外の、または Default グループに加えて検証グループがある場合は、このフィールドが検証に失敗したことを記録して、ツリーの後半にある <f:validateWholeBean /> コンポーネントがクラスレベルの検証をスキップできるようにします。この特定のフィールドがプロパティである Bean。ENABLE_VALIDATE_WHOLE_BEAN_PARAM_NAME が設定されているかどうかに関係なく、新しい例外をスローします

        返された Set が空の場合、ENABLE_VALIDATE_WHOLE_BEAN_PARAM_NAME アプリケーションパラメーターが有効であり、この Validator インスタンスには Default グループ以外の、または Default グループに加えて検証グループがあります。このフィールドが検証に合格したことを記録して、ツリーの後半にある <f:validateWholeBean /> コンポーネントが検証できるようにします。この特定のフィールドがプロパティである Bean のクラスレベルの検証を許可します。

        次で指定:
        インターフェース Validatorvalidate 
        パラメーター:
        context - 処理中のリクエストの FacesContext
        component - 正当性をチェックしている UIComponent
        value - 検証する値
        例外:
        ValidatorException - 検証が失敗した場合
      • saveState

        public ObjectSE saveState​(FacesContext context)
        インターフェースからコピーされた説明: StateHolder

        インスタンスの状態を Serializable オブジェクトとして取得します。

        このインターフェースを実装するクラスが、StateHolder を実装するインスタンス(イベントハンドラー、バリデーターなどを含む UIComponent など)への参照を持っている場合、このメソッドはそれらすべてのインスタンスで StateHolder.saveState(jakarta.faces.context.FacesContext) メソッドも呼び出す必要があります。このメソッドは、子とファセットの状態を保存してはなりませんそれは StateManager を介して行われます

        このメソッドは、実装オブジェクトの状態を変更してはなりません。つまり、このコードを実行した後:

         
         Object state = component.saveState(facesContext);
         
         

        component は、実行前と同じでなければなりません。

        このメソッドからの戻り値は Serializable でなければなりません

        次で指定:
        インターフェース StateHoldersaveState 
        パラメーター:
        context - Faces コンテキスト。
        戻り値:
        保存された状態。
      • restoreState

        public void restoreState​(FacesContext context,
                                 ObjectSE state)
        インターフェースからコピーされた説明: StateHolder

        state オブジェクトのエントリから状態を復元するために必要な処理を実行します。

        このインターフェースを実装するクラスが、StateHolder も実装するインスタンスへの参照を持っている場合(イベントハンドラー、バリデーターなどを備えた UIComponent など)、このメソッドはそれらすべてのインスタンスで StateHolder.restoreState(jakarta.faces.context.FacesContext, java.lang.Object) メソッドも呼び出す必要があります。

        state 引数が null の場合、アクションを実行せずに戻ります。

        次で指定:
        インターフェース StateHolderrestoreState 
        パラメーター:
        context - Faces コンテキスト。
        state - 状態。
      • initialStateMarked

        public boolean initialStateMarked()
        インターフェースからコピーされた説明: PartialStateHolder

        デルタ状態の変更が追跡されている場合は true を返し、それ以外の場合は false を返します。

        次で指定:
        インターフェース PartialStateHolderinitialStateMarked 
        戻り値:
        初期状態がマークされている場合は true、それ以外の場合は false
      • clearInitialState

        public void clearInitialState()
        インターフェースからコピーされた説明: PartialStateHolder

        PartialStateHolder を非デルタ追跡状態にリセットします。

        次で指定:
        インターフェース PartialStateHolderclearInitialState 
      • isTransient

        public boolean isTransient()
        インターフェースからコピーされた説明: StateHolder

        true の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。

        次で指定:
        インターフェース StateHolderisTransient 
        戻り値:
        一時的な場合は true、それ以外の場合は false
      • setTransient

        public void setTransient​(boolean transientValue)
        インターフェースからコピーされた説明: StateHolder

        このインターフェースを実装するオブジェクトが状態の保存または復元に参加する必要があるかどうかを示します

        次で指定:
        インターフェース StateHoldersetTransient 
        パラメーター:
        transientValue - このオブジェクトが 状態の保存または復元に参加しない場合はブール値 true を渡し、それ以外の場合は false を渡します。