oval是通过注解进行定义,每个注解都有一些公共属性,其中message等其他属性,前面几篇已经说明,今天说明下profiles,表示可以给注解定义标识,在实际开始验证时,可以根据这个表示确定是否要验证,避免所有的注解必须要验证的尴尬。同时总结说明下oval的三种验证方式。
private String id;
@Length(min=5,max=20,profiles="nc2")
private String userName;
private String userCode;
@Length(min=5,max=20,profiles="nc")
private String loginName;
1、完全验证
Validator validator = new Validator();
SaUser user = (SaUser) entity;
List<ConstraintViolation> message = validator.validate(user);//完全验证
2、选择性验证(多个验证中选择性验证)
List<ConstraintViolation> message = validator.validate(entity, profiles);
根据profiles进行选择性验证entity对象,可以指定多个profiles。
3、验证对象的某个字段
public List<ConstraintViolation> validateFieldValue(final Object validatedObject, final Field validatedField,final Object fieldValueToValidate)
三种方法在实际都能用到,oval设计的真是堪称完美!