org.springframework.validation

## Interface BindingErrorProcessor

- All Known Implementing Classes:
    DefaultBindingErrorProcessor

      public interface BindingErrorProcessor

  Strategy for processing `DataBinder`'s missing field errors, and for translating a `PropertyAccessException` to a `FieldError`.

  The error processor is pluggable so you can treat errors differently if you want to. A default implementation is provided for typical needs.

  Note: As of Spring 2.0, this interface operates on a given BindingResult, to be compatible with any binding strategy (bean property, direct field access, etc). It can still receive a BindException as argument (since a BindException implements the BindingResult interface as well) but no longer operates on it directly.

  Since:
    1.2
  Author:
    Alef Arendsen, Juergen Hoeller
  See Also:
    `DataBinder.setBindingErrorProcessor(org.springframework.validation.BindingErrorProcessor)`, `DefaultBindingErrorProcessor`, `BindingResult`, `BindException`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.

- - ### Method Detail

    - #### processMissingFieldError

          void processMissingFieldError(String missingField,
                                        BindingResult bindingResult)

      Apply the missing field error to the given BindException.

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

      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

          void processPropertyAccessException(PropertyAccessException ex,
                                              BindingResult bindingResult)

      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.

      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)`