Package 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)`
  - `PropertyAccessException.getErrorCode()`
  - `TypeMismatchException.ERROR_CODE`
  - `MethodInvocationException.ERROR_CODE`

## Field Summary

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

## Constructor Summary

Constructors
Constructor
Description
`DefaultBindingErrorProcessor()`

## Method Summary

Modifier and Type
Method
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(org.springframework.beans.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 Details

### 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 Details

### DefaultBindingErrorProcessor

public DefaultBindingErrorProcessor()

## Method Details

### 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(org.springframework.beans.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`