1.编写一个自己的注解(校验实体类某个字段提交的值是否在{0,1}中)
ListValueConstraintValidator.class是自己定义的校验器,包含具体的校验逻辑,其中values是定义的校验标准
2.为注解编写一个校验器
需要实现ConstraintValidator<ListValue,Integer>接口并实现该接口中的方法,ListValue指的是自己定义的注解,Integer指的是被校验的数据类型。在校验其中的initialize()方法可以获取到自定义注解中传入的校验标准,isValid()则是具体校验逻辑(使用Set将校验标准{0,1}装入,再使用contains()方法判断提交的值是否在Set中)。在这之后:
@Constraint(
validatedBy = { ListValueConstraintValidator.class }//关联自定义注解和自定义校验器
)
3.使用自定义注解校验
使用时注意的是需要在使用实体类的前面加上@Validated注解(如下图),该注解中的groups是与字段上的校验注解中的groups对应的分组校验(可以忽略)
谨此记录一下,以后用到直接搬。