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 theinterface
for error registration capabilities, allowing for aValidator
to be applied, and adds binding-specific analysis and model building.Serves as result holder for a
DataBinder
, obtained via theDataBinder.getBindingResult()
method. BindingResult implementations can also be used directly, for example to invoke aValidator
on it (e.g. 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 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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addError(ObjectError error)
Add a customObjectError
orFieldError
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.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.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, 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
Field Detail
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 Detail
getTarget
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'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.- See Also:
Errors.getObjectName()
,MODEL_KEY_PREFIX
,ModelAndView
,BindTag
getRawFieldValue
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
PropertyEditor findEditor(String field, Class<?> valueType)
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
PropertyEditorRegistry getPropertyEditorRegistry()
Return the underlying PropertyEditorRegistry.- Returns:
- the PropertyEditorRegistry, or
null
if none available for this BindingResult
addError
void addError(ObjectError error)
Add a customObjectError
orFieldError
to the errors list.Intended to be used by cooperating strategies such as
BindingErrorProcessor
.- See Also:
ObjectError
,FieldError
,BindingErrorProcessor
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 codesfield
- the field to resolve message codes for- Returns:
- the resolved message codes
recordSuppressedField
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.
getSuppressedFields
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.