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:
  • 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:
  • 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:
    • 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:
    • 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: