public class BindException extends java.lang.Exception implements BindingResult
BindingResult
インターフェース(およびそのスーパーインターフェース Errors
)を実装して、バインディングエラーの直接分析を可能にします。Spring 2.0 以降、これは特殊目的クラスです。通常、アプリケーションコードは BindingResult
インターフェース、または DataBinder
で動作し、次に DataBinder.getBindingResult()
を介して BindingResult を公開します。
BindingResult
, DataBinder.getBindingResult()
, DataBinder.close()
, 直列化された形式 MODEL_KEY_PREFIX
NESTED_PATH_SEPARATOR
コンストラクターと説明 |
---|
BindException(BindingResult bindingResult) BindingResult の新しい BindException インスタンスを作成します。 |
BindException(java.lang.Object target, java.lang.String objectName) ターゲット Bean の新しい BindException インスタンスを作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
void | addAllErrors(Errors errors) 指定された Errors インスタンスからのすべてのエラーをこの Errors インスタンスに追加します。 |
void | addError(ObjectError error) カスタム ObjectError または FieldError をエラーリストに追加します。 |
boolean | equals(java.lang.Object other) |
java.beans.PropertyEditor | findEditor(java.lang.String field, java.lang.Class valueType) 指定された型とプロパティのカスタムプロパティエディターを見つけます。 |
java.util.List<ObjectError> | getAllErrors() グローバルエラーとフィールドエラーの両方のすべてのエラーを取得します。 |
BindingResult | getBindingResult() この BindException がラップする BindingResult を返します。 |
int | getErrorCount() エラーの総数を返します。 |
FieldError | getFieldError() フィールドに関連付けられている最初のエラーがあれば、それを取得します。 |
FieldError | getFieldError(java.lang.String field) 指定されたフィールドに関連付けられている最初のエラーがあれば、それを取得します。 |
int | getFieldErrorCount() フィールドに関連付けられているエラーの数を返します。 |
int | getFieldErrorCount(java.lang.String field) 指定されたフィールドに関連付けられているエラーの数を返します。 |
java.util.List<FieldError> | getFieldErrors() フィールドに関連付けられているすべてのエラーを取得します。 |
java.util.List<FieldError> | getFieldErrors(java.lang.String field) 指定されたフィールドに関連するすべてのエラーを取得します。 |
java.lang.Class<?> | getFieldType(java.lang.String field) 指定されたフィールドの型を返します。 |
java.lang.Object | getFieldValue(java.lang.String field) 指定されたフィールドの現在の値、現在の Bean プロパティ値、最後のバインディングからの拒否された更新を返します。 |
ObjectError | getGlobalError() もしあれば、 最初のグローバルエラーを取得します。 |
int | getGlobalErrorCount() グローバルエラーの数を返します。 |
java.util.List<ObjectError> | getGlobalErrors() すべてのグローバルエラーを取得します。 |
java.lang.String | getMessage() このオブジェクトに保持されているエラーに関する診断情報を返します。 |
java.util.Map<java.lang.String,java.lang.Object> | getModel() 取得した状態のモデルマップを返し、BindingResult インスタンスを ' MODEL_KEY_PREFIX + objectName' として公開し、オブジェクト自体を 'objectName' として公開します。 |
java.lang.String | getNestedPath() この Errors オブジェクトの現在のネストされたパスを返します。 |
java.lang.String | getObjectName() バインドされたルートオブジェクトの名前を返します。 |
PropertyEditorRegistry | getPropertyEditorRegistry() 基になる PropertyEditorRegistry を返します。 |
java.lang.Object | getRawFieldValue(java.lang.String field) 指定されたフィールドの未加工フィールド値を抽出します。 |
java.lang.String[] | getSuppressedFields() バインドプロセス中に抑制されたフィールドのリストを返します。 |
java.lang.Object | getTarget() 具体的なバインディング戦略に応じて、Bean、パブリックフィールドを持つオブジェクト、マップなどのラップされたターゲットオブジェクトを返します。 |
boolean | hasErrors() エラーがあった場合に戻ります。 |
boolean | hasFieldErrors() フィールドエラーはありますか? |
boolean | hasFieldErrors(java.lang.String field) 特定のフィールドに関連するエラーはありますか? |
boolean | hasGlobalErrors() グローバルエラーはありますか? |
int | hashCode() |
void | popNestedPath() ネストされたパススタックから以前のネストされたパスをポップします。 |
void | pushNestedPath(java.lang.String subPath) 指定されたサブパスをネストされたパススタックにプッシュします。 |
void | recordSuppressedField(java.lang.String field) 指定された許可されていないフィールドを非表示としてマークします。 |
void | reject(java.lang.String errorCode) 指定されたエラーの説明を使用して、ターゲットオブジェクト全体のグローバルエラーを登録します。 |
void | reject(java.lang.String errorCode, java.lang.Object[] errorArgs, java.lang.String defaultMessage) 指定されたエラーの説明を使用して、ターゲットオブジェクト全体のグローバルエラーを登録します。 |
void | reject(java.lang.String errorCode, java.lang.String defaultMessage) 指定されたエラーの説明を使用して、ターゲットオブジェクト全体のグローバルエラーを登録します。 |
void | rejectValue(java.lang.String field, java.lang.String errorCode) 指定されたエラーの説明を使用して、現在のオブジェクトの指定されたフィールドのフィールドエラーを登録します(存在する場合、現在のネストされたパスを考慮します)。 |
void | rejectValue(java.lang.String field, java.lang.String errorCode, java.lang.Object[] errorArgs, java.lang.String defaultMessage) 指定されたエラーの説明を使用して、現在のオブジェクトの指定されたフィールドのフィールドエラーを登録します(存在する場合、現在のネストされたパスを考慮します)。 |
void | rejectValue(java.lang.String field, java.lang.String errorCode, java.lang.String defaultMessage) 指定されたエラーの説明を使用して、現在のオブジェクトの指定されたフィールドのフィールドエラーを登録します(存在する場合、現在のネストされたパスを考慮します)。 |
java.lang.String[] | resolveMessageCodes(java.lang.String errorCode) 指定されたエラーコードをメッセージコードに解決します。 |
java.lang.String[] | resolveMessageCodes(java.lang.String errorCode, java.lang.String field) 指定されたエラーコードを、指定されたフィールドのメッセージコードに解決します。 |
void | setNestedPath(java.lang.String nestedPath) 標準バリデーターがサブツリーを検証できるように、コンテキストの変更を許可します。 |
public BindException(BindingResult bindingResult)
bindingResult
- ラップする BindingResult インスタンス public BindException(java.lang.Object target, java.lang.String objectName)
target
- バインドするターゲット BeanobjectName
- ターゲットオブジェクトの名前 BeanPropertyBindingResult
public final BindingResult getBindingResult()
public java.lang.String getObjectName()
Errors
Errors
の getObjectName
public void setNestedPath(java.lang.String nestedPath)
Errors
例: 住所検証ツールは、顧客オブジェクトのサブオブジェクト「住所」を検証できます。
Errors
の setNestedPath
nestedPath
- このオブジェクト内のネストされたパス。「アドレス」(デフォルトは ""、null
も使用可能)。「アドレス」と「アドレス」の両方で終わることができます。有効です。public java.lang.String getNestedPath()
Errors
Errors
オブジェクトの現在のネストされたパスを返します。連結されたパスを簡単に構築するために、ドット付きのネストされたパス、つまり「アドレス」を返します。デフォルトは空の文字列です。
Errors
の getNestedPath
public void pushNestedPath(java.lang.String subPath)
Errors
Errors.popNestedPath()
呼び出しは、対応する pushNestedPath(String)
呼び出しの前に元のネストされたパスをリセットします。
ネストパススタックを使用すると、一時パスホルダーを気にすることなく、サブオブジェクトの一時ネストパスを設定できます。
次に例を示します: 現在のパスは "spouse."、pushNestedPath("child" ) -> 結果パスは "spouse.child."、popNestedPath() -> 再び "spouse."。
Errors
の pushNestedPath
subPath
- ネストされたパススタックにプッシュするサブパス Errors.popNestedPath()
public void popNestedPath() throws java.lang.IllegalStateException
Errors
Errors
の popNestedPath
java.lang.IllegalStateException
- スタックに元のネストされたパスがない場合 Errors.pushNestedPath(java.lang.String)
public void reject(java.lang.String errorCode)
Errors
public void reject(java.lang.String errorCode, java.lang.String defaultMessage)
Errors
public void reject(java.lang.String errorCode, java.lang.Object[] errorArgs, java.lang.String defaultMessage)
Errors
public void rejectValue(java.lang.String field, java.lang.String errorCode)
Errors
フィールド名は null
または空の文字列で、フィールドではなく現在のオブジェクト自体を示します。これにより、ネストされたオブジェクトグラフ内で対応するフィールドエラーが発生するか、現在のオブジェクトが最上位オブジェクトである場合にグローバルエラーが発生する可能性があります。
Errors
の rejectValue
field
- フィールド名 (null
または空の文字列です)errorCode
- エラーコード、メッセージキーとして解釈可能 Errors.getNestedPath()
public void rejectValue(java.lang.String field, java.lang.String errorCode, java.lang.String defaultMessage)
Errors
フィールド名は null
または空の文字列で、フィールドではなく現在のオブジェクト自体を示します。これにより、ネストされたオブジェクトグラフ内で対応するフィールドエラーが発生するか、現在のオブジェクトが最上位オブジェクトである場合にグローバルエラーが発生する可能性があります。
Errors
の rejectValue
field
- フィールド名 (null
または空の文字列です)errorCode
- エラーコード、メッセージキーとして解釈可能 defaultMessage
- フォールバックのデフォルトメッセージ Errors.getNestedPath()
public void rejectValue(java.lang.String field, java.lang.String errorCode, java.lang.Object[] errorArgs, java.lang.String defaultMessage)
Errors
フィールド名は null
または空の文字列で、フィールドではなく現在のオブジェクト自体を示します。これにより、ネストされたオブジェクトグラフ内で対応するフィールドエラーが発生するか、現在のオブジェクトが最上位オブジェクトである場合にグローバルエラーが発生する可能性があります。
Errors
の rejectValue
field
- フィールド名 (null
または空の文字列です)errorCode
- エラーコード、メッセージキーとして解釈可能 errorArgs
- エラー引数、MessageFormat を介した引数バインディング用 (null
にすることができます)defaultMessage
- フォールバックのデフォルトメッセージ Errors.getNestedPath()
public void addAllErrors(Errors errors)
Errors
Errors
インスタンスからのすべてのエラーをこの Errors
インスタンスに追加します。 これは、Errors
インスタンスを別の Errors
インスタンスにマージするために繰り返される reject(..)
呼び出しを避けるための便利なメソッドです。
渡された Errors
インスタンスは同じターゲットオブジェクトを参照するか、少なくともこの Errors
インスタンスのターゲットオブジェクトに適用される互換性のあるエラーを含むことに注意してください。
Errors
の addAllErrors
errors
- マージする Errors
インスタンス public boolean hasErrors()
Errors
public int getErrorCount()
Errors
Errors
の getErrorCount
public java.util.List<ObjectError> getAllErrors()
Errors
Errors
の getAllErrors
ObjectError
インスタンスのリスト public boolean hasGlobalErrors()
Errors
Errors
の hasGlobalErrors
true
Errors.hasFieldErrors()
public int getGlobalErrorCount()
Errors
Errors
の getGlobalErrorCount
Errors.getFieldErrorCount()
public java.util.List<ObjectError> getGlobalErrors()
Errors
Errors
の getGlobalErrors
public ObjectError getGlobalError()
Errors
Errors
の getGlobalError
null
public boolean hasFieldErrors()
Errors
Errors
の hasFieldErrors
true
Errors.hasGlobalErrors()
public int getFieldErrorCount()
Errors
Errors
の getFieldErrorCount
Errors.getGlobalErrorCount()
public java.util.List<FieldError> getFieldErrors()
Errors
Errors
の getFieldErrors
FieldError
インスタンスのリスト public FieldError getFieldError()
Errors
Errors
の getFieldError
null
public boolean hasFieldErrors(java.lang.String field)
Errors
Errors
の hasFieldErrors
field
- フィールド名 true
public int getFieldErrorCount(java.lang.String field)
Errors
Errors
の getFieldErrorCount
field
- フィールド名 public java.util.List<FieldError> getFieldErrors(java.lang.String field)
Errors
実装では、"name" などの完全なフィールド名だけでなく、"na *" や "address.*" などのパターン一致もサポートする必要があります。
Errors
の getFieldErrors
field
- フィールド名 FieldError
インスタンスのリスト public FieldError getFieldError(java.lang.String field)
Errors
Errors
の getFieldError
field
- フィールド名 null
public java.lang.Object getFieldValue(java.lang.String field)
Errors
型の不一致があった場合でも、ユーザー指定のフィールド値に簡単にアクセスできます。
Errors
の getFieldValue
field
- フィールド名 public java.lang.Class<?> getFieldType(java.lang.String field)
Errors
実装は、フィールド値が null
の場合でも、たとえば関連する記述子から型を判別できる必要があります。
Errors
の getFieldType
field
- フィールド名 null
public java.lang.Object getTarget()
BindingResult
BindingResult
の getTarget
public java.util.Map<java.lang.String,java.lang.Object> getModel()
BindingResult
MODEL_KEY_PREFIX
+ objectName' として公開し、オブジェクト自体を 'objectName' として公開します。このメソッドを呼び出すたびにマップが作成されることに注意してください。マップに物事を追加してからこのメソッドを再度呼び出しても機能しません。
このメソッドによって返されるモデル Map の属性は、通常、BindingResult インスタンスへのアクセスが必要な JSP で Spring の bind
タグを使用するフォームビューの ModelAndView
に含まれます。Spring の事前に構築されたフォームコントローラーは、フォームビューをレンダリングするときにこれを行います。ModelAndView インスタンスを自分で構築する場合、このメソッドによって返されるモデル Map の属性を含める必要があります。
BindingResult
の getModel
Errors.getObjectName()
, BindingResult.MODEL_KEY_PREFIX
, ModelAndView
, BindTag
public java.lang.Object getRawFieldValue(java.lang.String field)
BindingResult
BindingResult
の getRawFieldValue
field
- チェックするフィールド null
public java.beans.PropertyEditor findEditor(java.lang.String field, java.lang.Class valueType)
BindingResult
BindingResult
の findEditor
field
- プロパティのパス(名前またはネストされたパス)、または特定の型のすべてのプロパティのエディターを探している場合は null
valueType
- プロパティの型 (プロパティが指定されている場合は null
にすることができますが、一貫性チェックのためにいずれにしても指定する必要があります)null
public PropertyEditorRegistry getPropertyEditorRegistry()
BindingResult
BindingResult
の getPropertyEditorRegistry
null
public void addError(ObjectError error)
BindingResult
BindingResult
の addError
ObjectError
, FieldError
, BindingErrorProcessor
public java.lang.String[] resolveMessageCodes(java.lang.String errorCode)
BindingResult
適切なパラメーターを使用して、構成された MessageCodesResolver
を呼び出します。
BindingResult
の resolveMessageCodes
errorCode
- メッセージコードに解決するエラーコード public java.lang.String[] resolveMessageCodes(java.lang.String errorCode, java.lang.String field)
BindingResult
適切なパラメーターを使用して、構成された MessageCodesResolver
を呼び出します。
BindingResult
の resolveMessageCodes
errorCode
- メッセージコードに解決するエラーコード field
- メッセージコードを解決するフィールド public void recordSuppressedField(java.lang.String field)
BindingResult
データバインダーは、許可されていないフィールドを対象として検出された各フィールド値に対してこれを呼び出します。
BindingResult
の recordSuppressedField
DataBinder.setAllowedFields(java.lang.String...)
public java.lang.String[] getSuppressedFields()
BindingResult
フィールド値が許可されていないフィールドをターゲットとしていたかどうかを判断するために使用できます。
BindingResult
の getSuppressedFields
DataBinder.setAllowedFields(java.lang.String...)
public java.lang.String getMessage()
java.lang.Throwable
の getMessage
public boolean equals(java.lang.Object other)
java.lang.Object
の equals
public int hashCode()
java.lang.Object
の hashCode