public interface BindingResult extends 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).
DataBinder
,
Errors
,
Validator
,
BeanPropertyBindingResult
,
DirectFieldBindingResult
,
MapBindingResult
Modifier and Type | Field and Description |
---|---|
static String |
MODEL_KEY_PREFIX
Prefix for the name of the BindingResult instance in a model,
followed by the object name.
|
NESTED_PATH_SEPARATOR
Modifier and Type | Method and 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'. |
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.
|
addAllErrors, 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
static final String MODEL_KEY_PREFIX
@Nullable Object getTarget()
Map<String,Object> getModel()
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.
Errors.getObjectName()
,
MODEL_KEY_PREFIX
,
ModelAndView
,
BindTag
@Nullable Object getRawFieldValue(String field)
field
- the field to checknull
if not known@Nullable PropertyEditor findEditor(@Nullable String field, @Nullable Class<?> valueType)
field
- the path of the property (name or nested path), or
null
if looking for an editor for all properties of the given typevalueType
- the type of the property (can be null
if a property
is given but should be specified in any case for consistency checking)null
if none@Nullable PropertyEditorRegistry getPropertyEditorRegistry()
null
if none
available for this BindingResultString[] resolveMessageCodes(String errorCode)
Calls the configured MessageCodesResolver
with appropriate parameters.
errorCode
- the error code to resolve into message codesString[] resolveMessageCodes(String errorCode, String field)
Calls the configured MessageCodesResolver
with appropriate parameters.
errorCode
- the error code to resolve into message codesfield
- the field to resolve message codes forvoid addError(ObjectError error)
ObjectError
or FieldError
to the errors list.
Intended to be used by cooperating strategies such as BindingErrorProcessor
.
ObjectError
,
FieldError
,
BindingErrorProcessor
default void recordFieldValue(String field, Class<?> type, @Nullable Object value)
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.
field
- the field to record the value fortype
- the type of the fieldvalue
- the original valuedefault void recordSuppressedField(String field)
The data binder invokes this for each field value that was detected to target a disallowed field.
default String[] getSuppressedFields()
Can be used to determine whether any field values were targeting disallowed fields.