自定义校验注解

划线处是必须要写的规范

划线处是必须要写的规范 

步骤:

(一)先写好一个注解


@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方法,这个方法是用来获取传入注解的参数的。

(三)专门处理校验注解抛出的异常

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容