Interface Validator
- All Known Subinterfaces:
SmartValidator
- All Known Implementing Classes:
CustomValidatorBean,LocalValidatorFactoryBean,OptionalValidatorFactoryBean,SpringValidatorAdapter
public interface Validator
A validator for application-specific objects.This interface is totally divorced from any infrastructure or context; that is to say it is not coupled to validating only objects in the web tier, the data-access tier, or the whatever-tier. As such it is amenable to being used in any layer of an application, and supports the encapsulation of validation logic as a first-class citizen in its own right.
Find below a simple but complete
Validatorimplementation, which validates that the variousStringproperties of aUserLogininstance are not empty (that is they are notnulland do not consist wholly of whitespace), and that any password that is present is at least'MINIMUM_PASSWORD_LENGTH'characters in length.public class UserLoginValidator implements Validator { private static final int MINIMUM_PASSWORD_LENGTH = 6; public boolean supports(Class clazz) { return UserLogin.class.isAssignableFrom(clazz); } public void validate(Object target, Errors errors) { ValidationUtils.rejectIfEmptyOrWhitespace(errors, "userName", "field.required"); ValidationUtils.rejectIfEmptyOrWhitespace(errors, "password", "field.required"); UserLogin login = (UserLogin) target; if (login.getPassword() != null && login.getPassword().trim().length() < MINIMUM_PASSWORD_LENGTH) { errors.rejectValue("password", "field.min.length", new Object[]{Integer.valueOf(MINIMUM_PASSWORD_LENGTH)}, "The password must be at least [" + MINIMUM_PASSWORD_LENGTH + "] characters in length."); } } }See also the Spring reference manual for a fuller discussion of the
Validatorinterface and its role in an enterprise application.- Author:
- Rod Johnson
- See Also:
Errors,ValidationUtils
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleansupports(Class<?> clazz)voidvalidate(Object target, Errors errors)Validate the suppliedtargetobject, which must be of aClassfor which thesupports(Class)method typically has (or would) returntrue.
Method Detail
validate
void validate(Object target, Errors errors)
Validate the suppliedtargetobject, which must be of aClassfor which thesupports(Class)method typically has (or would) returntrue.The supplied
errorsinstance can be used to report any resulting validation errors.- Parameters:
target- the object that is to be validated (can benull)errors- contextual state about the validation process (nevernull)- See Also:
ValidationUtils