Package org.springframework.validation

# Interface BindingResult

All Superinterfaces:
  `Errors`

All Known Implementing Classes:
  `AbstractBindingResult`, `AbstractPropertyBindingResult`, `BeanPropertyBindingResult`, `BindException`, `DirectFieldBindingResult`, `MapBindingResult`

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 (for example, as part of a unit test).

Since:
  2.0
Author:
  Juergen Hoeller
See Also:
  - `DataBinder`
  - `Errors`
  - `Validator`
  - `BeanPropertyBindingResult`
  - `DirectFieldBindingResult`
  - `MapBindingResult`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`MODEL_KEY_PREFIX`
Prefix for the name of the BindingResult instance in a model, followed by the object name.

### Fields inherited from interface org.springframework.validation.Errors

`NESTED_PATH_SEPARATOR`

## Method Summary

Modifier and Type
Method
Description
`void`
`addError(ObjectError error)`
Add a custom `ObjectError` or `FieldError` to the errors list.
`PropertyEditor`
`findEditor(String field, Class<?> valueType)`
Find a custom property editor for the given type and property.
`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'.
`org.springframework.beans.PropertyEditorRegistry`
`getPropertyEditorRegistry()`
Return the underlying PropertyEditorRegistry.
`Object`
`getRawFieldValue(String field)`
Extract the raw field value for the given field.
`default String[]`
`getSuppressedFields()`
Return the list of fields that were suppressed during the bind process.
`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.
`default void`
`recordFieldValue(String field, Class<?> type, Object value)`
Record the given value for the specified field.
`default void`
`recordSuppressedField(String field)`
Mark the specified disallowed field as suppressed.
`String[]`
`resolveMessageCodes(String errorCode)`
Resolve the given error code into message codes.
`String[]`
`resolveMessageCodes(String errorCode, String field)`
Resolve the given error code into message codes for the given field.

### Methods inherited from interface org.springframework.validation.Errors

`addAllErrors, failOnError, getAllErrors, getErrorCount, getFieldError, getFieldError, getFieldErrorCount, getFieldErrorCount, getFieldErrors, getFieldErrors, getFieldType, getFieldValue, getGlobalError, getGlobalErrorCount, getGlobalErrors, getNestedPath, getObjectName, hasErrors, hasFieldErrors, hasFieldErrors, hasGlobalErrors, popNestedPath, pushNestedPath, reject, reject, reject, rejectValue, rejectValue, rejectValue, setNestedPath, toString`

## 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 `org.springframework.web.servlet.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:
  - `Errors.getObjectName()`
  - `MODEL_KEY_PREFIX`
  - `org.springframework.web.servlet.ModelAndView`
  - `org.springframework.web.servlet.tags.BindTag`

### 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 org.springframework.beans.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:
  - `ObjectError`
  - `FieldError`
  - `BindingErrorProcessor`

### 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:
  - `DataBinder.setAllowedFields(java.lang.String...)`

### 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:
  - `DataBinder.setAllowedFields(java.lang.String...)`