Interface Validator
- All Known Subinterfaces:
- SmartValidator
- All Known Implementing Classes:
- CustomValidatorBean,- LocalValidatorFactoryBean,- OptionalValidatorFactoryBean,- SpringValidatorAdapter
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 Validator
 implementation, which validates that the various String
 properties of a UserLogin instance are not empty
 (that is they are not null and 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 Validator interface and its role in an enterprise
 application.
- Author:
- Rod Johnson
- See Also:
- 
Method SummaryModifier and TypeMethodDescriptionbooleanvoidValidate the suppliedtargetobject, which must be of aClassfor which thesupports(Class)method typically has (or would) returntrue.
- 
Method Details- 
supports
- 
validateValidate 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
- errors- contextual state about the validation process
- See Also:
 
 
-