自定义校验注解

1.编写一个自己的注解(校验实体类某个字段提交的值是否在{0,1}中)
自定义校验注解_第1张图片
ListValueConstraintValidator.class是自己定义的校验器,包含具体的校验逻辑,其中values是定义的校验标准

2.为注解编写一个校验器
自定义校验注解_第2张图片
需要实现ConstraintValidator接口并实现该接口中的方法,ListValue指的是自己定义的注解,Integer指的是被校验的数据类型。在校验其中的initialize()方法可以获取到自定义注解中传入的校验标准,isValid()则是具体校验逻辑(使用Set将校验标准{0,1}装入,再使用contains()方法判断提交的值是否在Set中)。在这之后:

@Constraint(
        validatedBy = { ListValueConstraintValidator.class }//关联自定义注解和自定义校验器
)

3.使用自定义注解校验
在这里插入图片描述
使用时注意的是需要在使用实体类的前面加上@Validated注解(如下图),该注解中的groups是与字段上的校验注解中的groups对应的分组校验(可以忽略)
自定义校验注解_第3张图片
谨此记录一下,以后用到直接搬。

你可能感兴趣的:(java,spring,boot)