划线处是必须要写的规范
划线处是必须要写的规范
步骤:
(一)先写好一个注解
@Constraint(validatedBy = PasswordValidator.class)是用来与实现验证逻辑的类的关联使用的
(二)创建一个类用来写验证的逻辑
实现:
public class PasswordValidator implements ConstraintValidator <PasswordEqual, PersonDTO> {
@Override
public boolean isValid(PersonDTO personDTO, ConstraintValidatorContext constraintValidatorContext) {
String password1 = personDTO.getPassword1();
String password2 = personDTO.getPassword2();
boolean match = password1.equals(password2);
return match;
}
}
实现判断逻辑的类要实现ConstraintValidator<value1,value2>这个泛型接口,value1传入要使用这个判断逻辑的注解名称,value2传入注解要修饰的类型,
例如:
@Password这个注解打在PersonDTO这个类上,那么value2就传入PersonDTO
ConstraintValidator这个接口下面还有一个initialize方法,这个方法是用来获取传入注解的参数的。
(三)专门处理校验注解抛出的异常