public class BindException extends ExceptionSE 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(ObjectSE target, StringSE objectName) ターゲット Bean の新しい BindException インスタンスを作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
void | addAllErrors(Errors errors) 指定された Errors インスタンスからのすべてのエラーをこの Errors インスタンスに追加します。 |
void | addError(ObjectError error) カスタム ObjectError または FieldError をエラーリストに追加します。 |
boolean | equals(ObjectSE other) |
PropertyEditorSE | findEditor(StringSE field, ClassSE valueType) 指定された型とプロパティのカスタムプロパティエディターを見つけます。 |
ListSE<ObjectError> | getAllErrors() グローバルエラーとフィールドエラーの両方のすべてのエラーを取得します。 |
BindingResult | getBindingResult() この BindException がラップする BindingResult を返します。 |
int | getErrorCount() エラーの総数を返します。 |
FieldError | getFieldError() フィールドに関連付けられている最初のエラーがあれば、それを取得します。 |
FieldError | getFieldError(StringSE field) 指定されたフィールドに関連付けられている最初のエラーがあれば、それを取得します。 |
int | getFieldErrorCount() フィールドに関連付けられているエラーの数を返します。 |
int | getFieldErrorCount(StringSE field) 指定されたフィールドに関連付けられているエラーの数を返します。 |
ListSE<FieldError> | getFieldErrors() フィールドに関連付けられているすべてのエラーを取得します。 |
ListSE<FieldError> | getFieldErrors(StringSE field) 指定されたフィールドに関連するすべてのエラーを取得します。 |
ClassSE<?> | getFieldType(StringSE field) 指定されたフィールドの型を返します。 |
ObjectSE | getFieldValue(StringSE field) 指定されたフィールドの現在の値、現在の Bean プロパティ値、最後のバインディングからの拒否された更新を返します。 |
ObjectError | getGlobalError() もしあれば、 最初のグローバルエラーを取得します。 |
int | getGlobalErrorCount() グローバルエラーの数を返します。 |
ListSE<ObjectError> | getGlobalErrors() すべてのグローバルエラーを取得します。 |
StringSE | getMessage() このオブジェクトに保持されているエラーに関する診断情報を返します。 |
MapSE<StringSE, ObjectSE> | getModel() 取得した状態のモデルマップを返し、BindingResult インスタンスを ' MODEL_KEY_PREFIX + objectName' として公開し、オブジェクト自体を 'objectName' として公開します。 |
StringSE | getNestedPath() この Errors オブジェクトの現在のネストされたパスを返します。 |
StringSE | getObjectName() バインドされたルートオブジェクトの名前を返します。 |
PropertyEditorRegistry | getPropertyEditorRegistry() 基になる PropertyEditorRegistry を返します。 |
ObjectSE | getRawFieldValue(StringSE field) 指定されたフィールドの未加工フィールド値を抽出します。 |
StringSE[] | getSuppressedFields() バインドプロセス中に抑制されたフィールドのリストを返します。 |
ObjectSE | getTarget() 具体的なバインディング戦略に応じて、Bean、パブリックフィールドを持つオブジェクト、マップなどのラップされたターゲットオブジェクトを返します。 |
boolean | hasErrors() エラーがあった場合に戻ります。 |
boolean | hasFieldErrors() フィールドエラーはありますか? |
boolean | hasFieldErrors(StringSE field) 特定のフィールドに関連するエラーはありますか? |
boolean | hasGlobalErrors() グローバルエラーはありますか? |
int | hashCode() |
void | popNestedPath() ネストされたパススタックから以前のネストされたパスをポップします。 |
void | pushNestedPath(StringSE subPath) 指定されたサブパスをネストされたパススタックにプッシュします。 |
void | recordFieldValue(StringSE field, ClassSE<?> type, ObjectSE value) 指定されたフィールドに指定された値を記録します。 |
void | recordSuppressedField(StringSE field) 指定された許可されていないフィールドを非表示としてマークします。 |
void | reject(StringSE errorCode) 指定されたエラーの説明を使用して、ターゲットオブジェクト全体のグローバルエラーを登録します。 |
void | reject(StringSE errorCode, ObjectSE[] errorArgs, StringSE defaultMessage) 指定されたエラーの説明を使用して、ターゲットオブジェクト全体のグローバルエラーを登録します。 |
void | reject(StringSE errorCode, StringSE defaultMessage) 指定されたエラーの説明を使用して、ターゲットオブジェクト全体のグローバルエラーを登録します。 |
void | rejectValue(StringSE field, StringSE errorCode) 指定されたエラーの説明を使用して、現在のオブジェクトの指定されたフィールドのフィールドエラーを登録します(存在する場合、現在のネストされたパスを考慮します)。 |
void | rejectValue(StringSE field, StringSE errorCode, ObjectSE[] errorArgs, StringSE defaultMessage) 指定されたエラーの説明を使用して、現在のオブジェクトの指定されたフィールドのフィールドエラーを登録します(存在する場合、現在のネストされたパスを考慮します)。 |
void | rejectValue(StringSE field, StringSE errorCode, StringSE defaultMessage) 指定されたエラーの説明を使用して、現在のオブジェクトの指定されたフィールドのフィールドエラーを登録します(存在する場合、現在のネストされたパスを考慮します)。 |
StringSE[] | resolveMessageCodes(StringSE errorCode) 指定されたエラーコードをメッセージコードに解決します。 |
StringSE[] | resolveMessageCodes(StringSE errorCode, StringSE field) 指定されたエラーコードを、指定されたフィールドのメッセージコードに解決します。 |
void | setNestedPath(StringSE nestedPath) 標準バリデーターがサブツリーを検証できるように、コンテキストの変更を許可します。 |
addSuppressedSE, fillInStackTraceSE, getCauseSE, getLocalizedMessageSE, getStackTraceSE, getSuppressedSE, initCauseSE, printStackTraceSE, printStackTraceSE, printStackTraceSE, setStackTraceSE, toStringSE
cloneSE, finalizeSE, getClassSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
public BindException(BindingResult bindingResult)
bindingResult
- ラップする BindingResult インスタンス public BindException(ObjectSE target, StringSE objectName)
target
- バインドするターゲット BeanobjectName
- ターゲットオブジェクトの名前 BeanPropertyBindingResult
public final BindingResult getBindingResult()
public StringSE getObjectName()
Errors
Errors
の getObjectName
public void setNestedPath(StringSE nestedPath)
Errors
例: 住所検証ツールは、顧客オブジェクトのサブオブジェクト「住所」を検証できます。
Errors
の setNestedPath
nestedPath
- このオブジェクト内のネストされたパス。「アドレス」(デフォルトは ""、null
も使用可能)。「アドレス」と「アドレス」の両方で終わることができます。有効です。public StringSE getNestedPath()
Errors
Errors
オブジェクトの現在のネストされたパスを返します。連結されたパスを簡単に構築するために、ドット付きのネストされたパス、つまり「アドレス」を返します。デフォルトは空の文字列です。
Errors
の getNestedPath
public void pushNestedPath(StringSE subPath)
Errors
Errors.popNestedPath()
呼び出しは、対応する pushNestedPath(String)
呼び出しの前に元のネストされたパスをリセットします。
ネストパススタックを使用すると、一時パスホルダーを気にすることなく、サブオブジェクトの一時ネストパスを設定できます。
次に例を示します: 現在のパスは "spouse."、pushNestedPath("child" ) -> 結果パスは "spouse.child."、popNestedPath() -> 再び "spouse."。
Errors
の pushNestedPath
subPath
- ネストされたパススタックにプッシュするサブパス Errors.popNestedPath()
public void popNestedPath() throws IllegalStateExceptionSE
Errors
Errors
の popNestedPath
IllegalStateExceptionSE
- スタックに元のネストされたパスがない場合 Errors.pushNestedPath(java.lang.String)
public void reject(StringSE errorCode)
Errors
public void reject(StringSE errorCode, StringSE defaultMessage)
Errors
public void reject(StringSE errorCode, @Nullable ObjectSE[] errorArgs, @Nullable StringSE defaultMessage)
Errors
public void rejectValue(@Nullable StringSE field, StringSE errorCode)
Errors
フィールド名は null
または空の文字列で、フィールドではなく現在のオブジェクト自体を示します。これにより、ネストされたオブジェクトグラフ内で対応するフィールドエラーが発生するか、現在のオブジェクトが最上位オブジェクトである場合にグローバルエラーが発生する可能性があります。
Errors
の rejectValue
field
- フィールド名 (null
または空の文字列です)errorCode
- エラーコード、メッセージキーとして解釈可能 Errors.getNestedPath()
public void rejectValue(@Nullable StringSE field, StringSE errorCode, StringSE defaultMessage)
Errors
フィールド名は null
または空の文字列で、フィールドではなく現在のオブジェクト自体を示します。これにより、ネストされたオブジェクトグラフ内で対応するフィールドエラーが発生するか、現在のオブジェクトが最上位オブジェクトである場合にグローバルエラーが発生する可能性があります。
Errors
の rejectValue
field
- フィールド名 (null
または空の文字列です)errorCode
- エラーコード、メッセージキーとして解釈可能 defaultMessage
- フォールバックのデフォルトメッセージ Errors.getNestedPath()
public void rejectValue(@Nullable StringSE field, StringSE errorCode, @Nullable ObjectSE[] errorArgs, @Nullable StringSE 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 ListSE<ObjectError> getAllErrors()
Errors
Errors
の getAllErrors
ObjectError
インスタンスのリスト public boolean hasGlobalErrors()
Errors
Errors
の hasGlobalErrors
true
Errors.hasFieldErrors()
public int getGlobalErrorCount()
Errors
Errors
の getGlobalErrorCount
Errors.getFieldErrorCount()
public ListSE<ObjectError> getGlobalErrors()
Errors
Errors
の getGlobalErrors
ObjectError
インスタンスのリスト @Nullable 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 ListSE<FieldError> getFieldErrors()
Errors
Errors
の getFieldErrors
FieldError
インスタンスのリスト @Nullable public FieldError getFieldError()
Errors
Errors
の getFieldError
null
public boolean hasFieldErrors(StringSE field)
Errors
Errors
の hasFieldErrors
field
- フィールド名 true
public int getFieldErrorCount(StringSE field)
Errors
Errors
の getFieldErrorCount
field
- フィールド名 public ListSE<FieldError> getFieldErrors(StringSE field)
Errors
実装では、"name" などの完全なフィールド名だけでなく、"na *" や "address.*" などのパターン一致もサポートする必要があります。
Errors
の getFieldErrors
field
- フィールド名 FieldError
インスタンスのリスト @Nullable public FieldError getFieldError(StringSE field)
Errors
Errors
の getFieldError
field
- フィールド名 null
@Nullable public ObjectSE getFieldValue(StringSE field)
Errors
型の不一致があった場合でも、ユーザー指定のフィールド値に簡単にアクセスできます。
Errors
の getFieldValue
field
- フィールド名 @Nullable public ClassSE<?> getFieldType(StringSE field)
Errors
実装は、フィールド値が null
の場合でも、たとえば関連する記述子から型を判別できる必要があります。
Errors
の getFieldType
field
- フィールド名 null
public ObjectSE getTarget()
BindingResult
BindingResult
の getTarget
public MapSE<StringSE,ObjectSE> 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
@Nullable public ObjectSE getRawFieldValue(StringSE field)
BindingResult
BindingResult
の getRawFieldValue
field
- チェックするフィールド null
@Nullable public PropertyEditorSE findEditor(@Nullable StringSE field, @Nullable ClassSE valueType)
BindingResult
BindingResult
の findEditor
field
- プロパティのパス(名前またはネストされたパス)、または特定の型のすべてのプロパティのエディターを探している場合は null
valueType
- プロパティの型 (プロパティが指定されている場合は null
にすることができますが、一貫性チェックのためにいずれにしても指定する必要があります)null
@Nullable public PropertyEditorRegistry getPropertyEditorRegistry()
BindingResult
BindingResult
の getPropertyEditorRegistry
null
public StringSE[] resolveMessageCodes(StringSE errorCode)
BindingResult
適切なパラメーターを使用して、構成された MessageCodesResolver
を呼び出します。
BindingResult
の resolveMessageCodes
errorCode
- メッセージコードに解決するエラーコード public StringSE[] resolveMessageCodes(StringSE errorCode, StringSE field)
BindingResult
適切なパラメーターを使用して、構成された MessageCodesResolver
を呼び出します。
BindingResult
の resolveMessageCodes
errorCode
- メッセージコードに解決するエラーコード field
- メッセージコードを解決するフィールド public void addError(ObjectError error)
BindingResult
BindingResult
の addError
ObjectError
, FieldError
, BindingErrorProcessor
public void recordFieldValue(StringSE field, ClassSE<?> type, @Nullable ObjectSE value)
BindingResult
ターゲットオブジェクトを構築できない場合に使用し、元のフィールド値を Errors.getFieldValue(java.lang.String)
で使用できるようにします。登録されたエラーの場合、拒否された値は影響を受けるフィールドごとに公開されます。
BindingResult
の recordFieldValue
field
- 値を記録するフィールド type
- フィールドの型 value
- 元の値 public void recordSuppressedField(StringSE field)
BindingResult
データバインダーは、許可されていないフィールドを対象として検出された各フィールド値に対してこれを呼び出します。
BindingResult
の recordSuppressedField
DataBinder.setAllowedFields(java.lang.String...)
public StringSE[] getSuppressedFields()
BindingResult
フィールド値が許可されていないフィールドをターゲットとしていたかどうかを判断するために使用できます。
BindingResult
の getSuppressedFields
DataBinder.setAllowedFields(java.lang.String...)
public StringSE getMessage()
ThrowableSE
の getMessageSE
public int hashCode()
ObjectSE
の hashCodeSE