org.springframework.validation

## Class DefaultBindingErrorProcessor

- java.lang.Object
- - org.springframework.validation.DefaultBindingErrorProcessor

- All Implemented Interfaces:
    BindingErrorProcessor

      public class DefaultBindingErrorProcessor
      extends Object
      implements BindingErrorProcessor

  Default `BindingErrorProcessor` implementation.

  Uses the "required" error code and the field name to resolve message codes for a missing field error.

  Creates a `FieldError` for each `PropertyAccessException` given, using the `PropertyAccessException`'s error code ("typeMismatch", "methodInvocation") for resolving message codes.

  Since:
    1.2
  Author:
    Alef Arendsen, Juergen Hoeller
  See Also:
    `MISSING_FIELD_ERROR_CODE`, `DataBinder.setBindingErrorProcessor(org.springframework.validation.BindingErrorProcessor)`, `AbstractBindingResult.addError(org.springframework.validation.ObjectError)`, `AbstractBindingResult.resolveMessageCodes(java.lang.String)`, `ErrorCoded.getErrorCode()`, `TypeMismatchException.ERROR_CODE`, `MethodInvocationException.ERROR_CODE`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `MISSING_FIELD_ERROR_CODE` Error code that a missing field error (i.e.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultBindingErrorProcessor()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected Object[]` | `getArgumentsForBindError(String objectName, String field)` Return FieldError arguments for a binding error on the given field.
    `void` | `processMissingFieldError(String missingField, BindingResult bindingResult)` Apply the missing field error to the given BindException.
    `void` | `processPropertyAccessException(PropertyAccessException ex, BindingResult bindingResult)` Translate the given `PropertyAccessException` to an appropriate error registered on the given `Errors` instance.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### MISSING_FIELD_ERROR_CODE

          public static final String MISSING_FIELD_ERROR_CODE

      Error code that a missing field error (i.e. a required field not found in the list of property values) will be registered with: "required".
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### DefaultBindingErrorProcessor

          public DefaultBindingErrorProcessor()

  - ### Method Detail

    - #### processMissingFieldError

          public void processMissingFieldError(String missingField,
                                      BindingResult bindingResult)

      Description copied from interface: `BindingErrorProcessor`
      Apply the missing field error to the given BindException.

      Usually, a field error is created for a missing required field.

      Specified by:
        `processMissingFieldError` in interface `BindingErrorProcessor`
      Parameters:
        `missingField` - the field that was missing during binding
        `bindingResult` - the errors object to add the error(s) to. You can add more than just one error or maybe even ignore it. The `BindingResult` object features convenience utils such as a `resolveMessageCodes` method to resolve an error code.
      See Also:
        `AbstractBindingResult.addError(org.springframework.validation.ObjectError)`, `AbstractBindingResult.resolveMessageCodes(java.lang.String)`

    - #### processPropertyAccessException

          public void processPropertyAccessException(PropertyAccessException ex,
                                            BindingResult bindingResult)

      Description copied from interface: `BindingErrorProcessor`
      Translate the given `PropertyAccessException` to an appropriate error registered on the given `Errors` instance.

      Note that two error types are available: `FieldError` and `ObjectError`. Usually, field errors are created, but in certain situations one might want to create a global `ObjectError` instead.

      Specified by:
        `processPropertyAccessException` in interface `BindingErrorProcessor`
      Parameters:
        `ex` - the `PropertyAccessException` to translate
        `bindingResult` - the errors object to add the error(s) to. You can add more than just one error or maybe even ignore it. The `BindingResult` object features convenience utils such as a `resolveMessageCodes` method to resolve an error code.
      See Also:
        `Errors`, `FieldError`, `ObjectError`, `MessageCodesResolver`, `AbstractBindingResult.addError(org.springframework.validation.ObjectError)`, `AbstractBindingResult.resolveMessageCodes(java.lang.String)`

    - #### getArgumentsForBindError

          protected Object[] getArgumentsForBindError(String objectName,
                                          String field)

      Return FieldError arguments for a binding error on the given field. Invoked for each missing required field and each type mismatch.

      The default implementation returns a single argument indicating the field name (of type DefaultMessageSourceResolvable, with "objectName.field" and "field" as codes).

      Parameters:
        `objectName` - the name of the target object
        `field` - the field that caused the binding error
      Returns:
        the Object array that represents the FieldError arguments
      See Also:
        `DefaultMessageSourceResolvable.getArguments()`, `DefaultMessageSourceResolvable`