org.springframework.validation

## 类 AbstractBindingResult

- java.lang.Object
- - org.springframework.validation.AbstractErrors
  - - org.springframework.validation.AbstractBindingResult

- 所有已实现的接口:
    Serializable, BindingResult, Errors
  直接已知子类:
    AbstractPropertyBindingResult, MapBindingResult

      public abstract class AbstractBindingResult
      extends AbstractErrors
      implements BindingResult, Serializable

  Abstract implementation of the `BindingResult` interface and its super-interface `Errors`. Encapsulates common management of `ObjectErrors` and `FieldErrors`.
  从以下版本开始:
    2.0
  作者:
    Juergen Hoeller, Rob Harrop
  另请参阅:
    `Errors`, 序列化表格

- - ### 字段概要

    - ### 从接口继承的字段 org.springframework.validation.BindingResult

      `MODEL_KEY_PREFIX`

    - ### 从接口继承的字段 org.springframework.validation.Errors

      `NESTED_PATH_SEPARATOR`

  - ### 构造器概要

    构造器
    限定符 | 构造器和说明
    --- | ---
    `protected` | `AbstractBindingResult(String objectName)` Create a new AbstractBindingResult instance.

  - ### 方法概要

    所有方法 实例方法 抽象方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | `addAllErrors(Errors errors)` Add all errors from the given `Errors` instance to this `Errors` instance.
    `void` | `addError(ObjectError error)` Add a custom `ObjectError` or `FieldError` to the errors list.
    `boolean` | `equals(Object other)`
    `PropertyEditor` | `findEditor(String field, Class<?> valueType)` This implementation delegates to the `PropertyEditorRegistry`'s editor lookup facility, if available.
    `protected Object` | `formatFieldValue(String field, Object value)` Format the given value for the specified field.
    `protected abstract Object` | `getActualFieldValue(String field)` Extract the actual field value for the given field.
    `List<ObjectError>` | `getAllErrors()` Get all errors, both global and field ones.
    `int` | `getErrorCount()` Return the total number of errors.
    `FieldError` | `getFieldError()` Get the first error associated with a field, if any.
    `FieldError` | `getFieldError(String field)` Get the first error associated with the given field, if any.
    `List<FieldError>` | `getFieldErrors()` Get all errors associated with a field.
    `List<FieldError>` | `getFieldErrors(String field)` Get all errors associated with the given field.
    `Class<?>` | `getFieldType(String field)` This default implementation determines the type based on the actual field value, if any.
    `Object` | `getFieldValue(String field)` Return the current value of the given field, either the current bean property value or a rejected update from the last binding.
    `ObjectError` | `getGlobalError()` Get the first global error, if any.
    `List<ObjectError>` | `getGlobalErrors()` Get all global errors.
    `MessageCodesResolver` | `getMessageCodesResolver()` Return the strategy to use for resolving errors into message codes.
    `Map<String,Object>` | `getModel()` Return a model Map for the obtained state, exposing an Errors instance as '`MODEL_KEY_PREFIX` + objectName' and the object itself.
    `String` | `getObjectName()` Return the name of the bound root object.
    `org.springframework.beans.PropertyEditorRegistry` | `getPropertyEditorRegistry()` This implementation returns `null`.
    `Object` | `getRawFieldValue(String field)` Extract the raw field value for the given field.
    `String[]` | `getSuppressedFields()` Return the list of fields that were suppressed during the bind process.
    `abstract Object` | `getTarget()` Return the wrapped target object.
    `boolean` | `hasErrors()` Return if there were any errors.
    `int` | `hashCode()`
    `void` | `recordFieldValue(String field, Class<?> type, Object value)` Record the given value for the specified field.
    `void` | `recordSuppressedField(String field)` Mark the specified disallowed field as suppressed.
    `void` | `reject(String errorCode, Object[] errorArgs, String defaultMessage)` Register a global error for the entire target object, using the given error description.
    `void` | `rejectValue(String field, String errorCode, Object[] errorArgs, String defaultMessage)` Register a field error for the specified field of the current object (respecting the current nested path, if any), using the given error description.
    `String[]` | `resolveMessageCodes(String errorCode)` Resolve the given error code into message codes.
    `String[]` | `resolveMessageCodes(String errorCode, String field)` Resolve the given error code into message codes for the given field.
    `void` | `setMessageCodesResolver(MessageCodesResolver messageCodesResolver)` Set the strategy to use for resolving errors into message codes.

    - ### 从类继承的方法 org.springframework.validation.AbstractErrors

      `canonicalFieldName, doSetNestedPath, fixedField, getFieldErrorCount, getFieldErrorCount, getGlobalErrorCount, getNestedPath, hasFieldErrors, hasFieldErrors, hasGlobalErrors, isMatchingFieldError, popNestedPath, pushNestedPath, reject, reject, rejectValue, rejectValue, setNestedPath, toString`

    - ### 从类继承的方法 java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### 从接口继承的方法 org.springframework.validation.Errors

      `getFieldErrorCount, getFieldErrorCount, getGlobalErrorCount, getNestedPath, hasFieldErrors, hasFieldErrors, hasGlobalErrors, popNestedPath, pushNestedPath, reject, reject, rejectValue, rejectValue, setNestedPath`

- - ### 构造器详细资料

    - #### AbstractBindingResult

          protected AbstractBindingResult(String objectName)

      Create a new AbstractBindingResult instance.
      参数:
        `objectName` - the name of the target object
      另请参阅:
        `DefaultMessageCodesResolver`

  - ### 方法详细资料

    - #### setMessageCodesResolver

          public void setMessageCodesResolver(MessageCodesResolver messageCodesResolver)

      Set the strategy to use for resolving errors into message codes. Default is DefaultMessageCodesResolver.
      另请参阅:
        `DefaultMessageCodesResolver`

    - #### getMessageCodesResolver

          public MessageCodesResolver getMessageCodesResolver()

      Return the strategy to use for resolving errors into message codes.

    - #### getObjectName

          public String getObjectName()

      从接口复制的说明: `Errors`
      Return the name of the bound root object.
      指定者:
        `getObjectName` 在接口中 `Errors`

    - #### reject

          public void reject(String errorCode,
                             @Nullable
                             Object[] errorArgs,
                             @Nullable
                             String defaultMessage)

      从接口复制的说明: `Errors`
      Register a global error for the entire target object, using the given error description.
      指定者:
        `reject` 在接口中 `Errors`
      参数:
        `errorCode` - error code, interpretable as a message key
        `errorArgs` - error arguments, for argument binding via MessageFormat (can be `null`)
        `defaultMessage` - fallback default message

    - #### rejectValue

          public void rejectValue(@Nullable
                                  String field,
                                  String errorCode,
                                  @Nullable
                                  Object[] errorArgs,
                                  @Nullable
                                  String defaultMessage)

      从接口复制的说明: `Errors`
      Register a field error for the specified field of the current object (respecting the current nested path, if any), using the given error description.

      The field name may be `null` or empty String to indicate the current object itself rather than a field of it. This may result in a corresponding field error within the nested object graph or a global error if the current object is the top object.

      指定者:
        `rejectValue` 在接口中 `Errors`
      参数:
        `field` - the field name (may be `null` or empty String)
        `errorCode` - error code, interpretable as a message key
        `errorArgs` - error arguments, for argument binding via MessageFormat (can be `null`)
        `defaultMessage` - fallback default message
      另请参阅:
        `Errors.getNestedPath()`

    - #### addAllErrors

          public void addAllErrors(Errors errors)

      从接口复制的说明: `Errors`
      Add all errors from the given `Errors` instance to this `Errors` instance.

      This is a convenience method to avoid repeated `reject(..)` calls for merging an `Errors` instance into another `Errors` instance.

      Note that the passed-in `Errors` instance is supposed to refer to the same target object, or at least contain compatible errors that apply to the target object of this `Errors` instance.

      指定者:
        `addAllErrors` 在接口中 `Errors`
      参数:
        `errors` - the `Errors` instance to merge in

    - #### hasErrors

          public boolean hasErrors()

      从接口复制的说明: `Errors`
      Return if there were any errors.
      指定者:
        `hasErrors` 在接口中 `Errors`
      覆盖:
        `hasErrors` 在类中 `AbstractErrors`

    - #### getErrorCount

          public int getErrorCount()

      从接口复制的说明: `Errors`
      Return the total number of errors.
      指定者:
        `getErrorCount` 在接口中 `Errors`
      覆盖:
        `getErrorCount` 在类中 `AbstractErrors`

    - #### getAllErrors

          public List<ObjectError> getAllErrors()

      从接口复制的说明: `Errors`
      Get all errors, both global and field ones.
      指定者:
        `getAllErrors` 在接口中 `Errors`
      覆盖:
        `getAllErrors` 在类中 `AbstractErrors`
      返回:
        List of `ObjectError` instances

    - #### getGlobalErrors

          public List<ObjectError> getGlobalErrors()

      从接口复制的说明: `Errors`
      Get all global errors.
      指定者:
        `getGlobalErrors` 在接口中 `Errors`
      返回:
        List of ObjectError instances

    - #### getGlobalError

          @Nullable
          public ObjectError getGlobalError()

      从接口复制的说明: `Errors`
      Get the first global error, if any.
      指定者:
        `getGlobalError` 在接口中 `Errors`
      覆盖:
        `getGlobalError` 在类中 `AbstractErrors`
      返回:
        the global error, or `null`

    - #### getFieldErrors

          public List<FieldError> getFieldErrors()

      从接口复制的说明: `Errors`
      Get all errors associated with a field.
      指定者:
        `getFieldErrors` 在接口中 `Errors`
      返回:
        a List of `FieldError` instances

    - #### getFieldError

          @Nullable
          public FieldError getFieldError()

      从接口复制的说明: `Errors`
      Get the first error associated with a field, if any.
      指定者:
        `getFieldError` 在接口中 `Errors`
      覆盖:
        `getFieldError` 在类中 `AbstractErrors`
      返回:
        the field-specific error, or `null`

    - #### getFieldErrors

          public List<FieldError> getFieldErrors(String field)

      从接口复制的说明: `Errors`
      Get all errors associated with the given field.

      Implementations should support not only full field names like "name" but also pattern matches like "na*" or "address.*".

      指定者:
        `getFieldErrors` 在接口中 `Errors`
      覆盖:
        `getFieldErrors` 在类中 `AbstractErrors`
      参数:
        `field` - the field name
      返回:
        a List of `FieldError` instances

    - #### getFieldError

          @Nullable
          public FieldError getFieldError(String field)

      从接口复制的说明: `Errors`
      Get the first error associated with the given field, if any.
      指定者:
        `getFieldError` 在接口中 `Errors`
      覆盖:
        `getFieldError` 在类中 `AbstractErrors`
      参数:
        `field` - the field name
      返回:
        the field-specific error, or `null`

    - #### getFieldValue

          @Nullable
          public Object getFieldValue(String field)

      从接口复制的说明: `Errors`
      Return the current value of the given field, either the current bean property value or a rejected update from the last binding.

      Allows for convenient access to user-specified field values, even if there were type mismatches.

      指定者:
        `getFieldValue` 在接口中 `Errors`
      参数:
        `field` - the field name
      返回:
        the current value of the given field

    - #### getFieldType

          @Nullable
          public Class<?> getFieldType(@Nullable
                                                  String field)

      This default implementation determines the type based on the actual field value, if any. Subclasses should override this to determine the type from a descriptor, even for `null` values.
      指定者:
        `getFieldType` 在接口中 `Errors`
      覆盖:
        `getFieldType` 在类中 `AbstractErrors`
      参数:
        `field` - the field name
      返回:
        the type of the field, or `null` if not determinable
      另请参阅:
        `getActualFieldValue(java.lang.String)`

    - #### getModel

          public Map<String,Object> getModel()

      Return a model Map for the obtained state, exposing an Errors instance as '`MODEL_KEY_PREFIX` + objectName' and the object itself.

      Note that the Map is constructed every time you're calling this method. Adding things to the map and then re-calling this method will not work.

      The attributes in the model Map returned by this method are usually included in the ModelAndView for a form view that uses Spring's bind tag, which needs access to the Errors instance.

      指定者:
        `getModel` 在接口中 `BindingResult`
      另请参阅:
        `getObjectName()`, `BindingResult.MODEL_KEY_PREFIX`

    - #### getRawFieldValue

          @Nullable
          public Object getRawFieldValue(String field)

      从接口复制的说明: `BindingResult`
      Extract the raw field value for the given field. Typically used for comparison purposes.
      指定者:
        `getRawFieldValue` 在接口中 `BindingResult`
      参数:
        `field` - the field to check
      返回:
        the current value of the field in its raw form, or `null` if not known

    - #### findEditor

          @Nullable
          public PropertyEditor findEditor(@Nullable
                                                      String field,
                                                      @Nullable
                                                      Class<?> valueType)

      This implementation delegates to the `PropertyEditorRegistry`'s editor lookup facility, if available.
      指定者:
        `findEditor` 在接口中 `BindingResult`
      参数:
        `field` - the path of the property (name or nested path), or `null` if looking for an editor for all properties of the given type
        `valueType` - the type of the property (can be `null` if a property is given but should be specified in any case for consistency checking)
      返回:
        the registered editor, or `null` if none

    - #### getPropertyEditorRegistry

          @Nullable
          public org.springframework.beans.PropertyEditorRegistry getPropertyEditorRegistry()

      This implementation returns `null`.
      指定者:
        `getPropertyEditorRegistry` 在接口中 `BindingResult`
      返回:
        the PropertyEditorRegistry, or `null` if none available for this BindingResult

    - #### resolveMessageCodes

          public String[] resolveMessageCodes(String errorCode)

      从接口复制的说明: `BindingResult`
      Resolve the given error code into message codes.

      Calls the configured `MessageCodesResolver` with appropriate parameters.

      指定者:
        `resolveMessageCodes` 在接口中 `BindingResult`
      参数:
        `errorCode` - the error code to resolve into message codes
      返回:
        the resolved message codes

    - #### resolveMessageCodes

          public String[] resolveMessageCodes(String errorCode,
                                              @Nullable
                                              String field)

      从接口复制的说明: `BindingResult`
      Resolve the given error code into message codes for the given field.

      Calls the configured `MessageCodesResolver` with appropriate parameters.

      指定者:
        `resolveMessageCodes` 在接口中 `BindingResult`
      参数:
        `errorCode` - the error code to resolve into message codes
        `field` - the field to resolve message codes for
      返回:
        the resolved message codes

    - #### addError

          public void addError(ObjectError error)

      从接口复制的说明: `BindingResult`
      Add a custom `ObjectError` or `FieldError` to the errors list.

      Intended to be used by cooperating strategies such as `BindingErrorProcessor`.

      指定者:
        `addError` 在接口中 `BindingResult`
      另请参阅:
        `ObjectError`, `FieldError`, `BindingErrorProcessor`

    - #### recordFieldValue

          public void recordFieldValue(String field,
                                       Class<?> type,
                                       @Nullable
                                       Object value)

      从接口复制的说明: `BindingResult`
      Record the given value for the specified field.

      To be used when a target object cannot be constructed, making the original field values available through `Errors.getFieldValue(java.lang.String)`. In case of a registered error, the rejected value will be exposed for each affected field.

      指定者:
        `recordFieldValue` 在接口中 `BindingResult`
      参数:
        `field` - the field to record the value for
        `type` - the type of the field
        `value` - the original value

    - #### recordSuppressedField

          public void recordSuppressedField(String field)

      Mark the specified disallowed field as suppressed.

      The data binder invokes this for each field value that was detected to target a disallowed field.

      指定者:
        `recordSuppressedField` 在接口中 `BindingResult`
      另请参阅:
        `DataBinder.setAllowedFields(java.lang.String...)`

    - #### getSuppressedFields

          public String[] getSuppressedFields()

      Return the list of fields that were suppressed during the bind process.

      Can be used to determine whether any field values were targeting disallowed fields.

      指定者:
        `getSuppressedFields` 在接口中 `BindingResult`
      另请参阅:
        `DataBinder.setAllowedFields(java.lang.String...)`

    - #### equals

          public boolean equals(Object other)

      覆盖:
        `equals` 在类中 `Object`

    - #### hashCode

          public int hashCode()

      覆盖:
        `hashCode` 在类中 `Object`

    - #### getTarget

          @Nullable
          public abstract Object getTarget()

      Return the wrapped target object.
      指定者:
        `getTarget` 在接口中 `BindingResult`

    - #### getActualFieldValue

          @Nullable
          protected abstract Object getActualFieldValue(String field)

      Extract the actual field value for the given field.
      参数:
        `field` - the field to check
      返回:
        the current value of the field

    - #### formatFieldValue

          @Nullable
          protected Object formatFieldValue(String field,
                                                       @Nullable
                                                       Object value)

      Format the given value for the specified field.

      The default implementation simply returns the field value as-is.

      参数:
        `field` - the field to check
        `value` - the value of the field (either a rejected value other than from a binding error, or an actual field value)
      返回:
        the formatted value