接口 Validator
- 所有已知子接口:
SmartValidator
- 所有已知实现类:
CustomValidatorBean,InfraValidatorAdapter,LocalValidatorFactoryBean,OptionalValidatorFactoryBean
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 Framework reference manual for a fuller discussion of
the Validator interface and its role in an enterprise
application.
- 从以下版本开始:
- 4.0
- 作者:
- Rod Johnson
- 另请参阅:
-
方法概要
-
方法详细资料
-
supports
-
validate
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.- 参数:
target- the object that is to be validatederrors- contextual state about the validation process- 另请参阅:
-