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, setNestedPathstatic 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,
BindingErrorProcessordefault 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.