Interface BindingResult
- All Superinterfaces:
Errors
- All Known Implementing Classes:
AbstractBindingResult
,AbstractPropertyBindingResult
,BeanPropertyBindingResult
,BindException
,DirectFieldBindingResult
,MapBindingResult
,MethodArgumentNotValidException
,WebExchangeBindException
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:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
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 TypeMethodDescriptionvoid
addError
(ObjectError error) Add a customObjectError
orFieldError
to the errors list.findEditor
(@Nullable String field, @Nullable Class<?> valueType) Find a custom property editor for the given type and property.getModel()
Return a model Map for the obtained state, exposing a BindingResult instance as 'MODEL_KEY_PREFIX
+ objectName' and the object itself as 'objectName'.Return the underlying PropertyEditorRegistry.getRawFieldValue
(String field) Extract the raw field value for the given field.default String[]
Return the list of fields that were suppressed during the bind process.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, @Nullable 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
Prefix for the name of the BindingResult instance in a model, followed by the object name.
-
-
Method Details
-
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
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'sbind
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. -
getRawFieldValue
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
Find a custom property editor for the given type and property.- Parameters:
field
- the path of the property (name or nested path), ornull
if looking for an editor for all properties of the given typevalueType
- the type of the property (can benull
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
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
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 codesfield
- the field to resolve message codes for- Returns:
- the resolved message codes
-
addError
Add a customObjectError
orFieldError
to the errors list.Intended to be used by cooperating strategies such as
BindingErrorProcessor
.- See Also:
-
recordFieldValue
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 fortype
- the type of the fieldvalue
- the original value- Since:
- 5.0.4
-
recordSuppressedField
Mark the specified disallowed field as suppressed.The data binder invokes this for each field value that was detected to target a disallowed field.
-
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.
-