Interface BindingResult

All Superinterfaces:
Errors
All Known Implementing Classes:
AbstractBindingResult, AbstractPropertyBindingResult, BeanPropertyBindingResult, BindException, DirectFieldBindingResult, MapBindingResult, MethodArgumentNotValidException, WebExchangeBindException

public interface BindingResult extends Errors
General interface that represents binding results. Extends the Errors interface for error registration capabilities, allowing for a Validator to be applied, and adds binding-specific analysis and model building.

Serves as result holder for a DataBinder, obtained via the DataBinder.getBindingResult() method. BindingResult implementations can also be used directly, for example to invoke a Validator on it (e.g. as part of a unit test).

Since:
2.0
Author:
Juergen Hoeller
See Also:
  • Field Details

    • MODEL_KEY_PREFIX

      static final String MODEL_KEY_PREFIX
      Prefix for the name of the BindingResult instance in a model, followed by the object name.
  • Method Details

    • getTarget

      @Nullable Object getTarget()
      Return the wrapped target object, which may be a bean, an object with public fields, a Map - depending on the concrete binding strategy.
    • getModel

      Map<String,Object> getModel()
      Return a model Map for the obtained state, exposing a BindingResult instance as 'MODEL_KEY_PREFIX + objectName' and the object itself as 'objectName'.

      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 in a JSP, which needs access to the BindingResult instance. Spring's pre-built form controllers will do this for you when rendering a form view. When building the ModelAndView instance yourself, you need to include the attributes from the model Map returned by this method.

      See Also:
    • getRawFieldValue

      @Nullable Object getRawFieldValue(String field)
      Extract the raw field value for the given field. Typically used for comparison purposes.
      Parameters:
      field - the field to check
      Returns:
      the current value of the field in its raw form, or null if not known
    • findEditor

      @Nullable PropertyEditor findEditor(@Nullable String field, @Nullable Class<?> valueType)
      Find a custom property editor for the given type and property.
      Parameters:
      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)
      Returns:
      the registered editor, or null if none
    • getPropertyEditorRegistry

      @Nullable PropertyEditorRegistry getPropertyEditorRegistry()
      Return the underlying PropertyEditorRegistry.
      Returns:
      the PropertyEditorRegistry, or null if none available for this BindingResult
    • resolveMessageCodes

      String[] resolveMessageCodes(String errorCode)
      Resolve the given error code into message codes.

      Calls the configured MessageCodesResolver with appropriate parameters.

      Parameters:
      errorCode - the error code to resolve into message codes
      Returns:
      the resolved message codes
    • resolveMessageCodes

      String[] resolveMessageCodes(String errorCode, String field)
      Resolve the given error code into message codes for the given field.

      Calls the configured MessageCodesResolver with appropriate parameters.

      Parameters:
      errorCode - the error code to resolve into message codes
      field - the field to resolve message codes for
      Returns:
      the resolved message codes
    • addError

      void addError(ObjectError error)
      Add a custom ObjectError or FieldError to the errors list.

      Intended to be used by cooperating strategies such as BindingErrorProcessor.

      See Also:
    • recordFieldValue

      default void recordFieldValue(String field, Class<?> type, @Nullable Object value)
      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.

      Parameters:
      field - the field to record the value for
      type - the type of the field
      value - the original value
      Since:
      5.0.4
    • recordSuppressedField

      default 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.

      See Also:
    • getSuppressedFields

      default 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.

      See Also: