文章目录
1:JSR303自定义校验注解
问题:如果我们校验如下的方式是可以用正则表达式,可是有时候我们的业务只有正则也完成不了,所以我们需要自定义校验注解
/**
* 显示状态[0-不显示;1-显示]
*/
@ListValue(vals={
0,1})
private Integer showStatus;
@ListValue(vals={0,1})就是我们需要编写的自定义校验注解
编写自定义校验注解思路:
1)编写一个自定义的校验注解
2)编写一个自定义的校验器
3)关联自定义的校验器和自定义的校验注解
1.1 第一步:编写一个自定义的校验注解@ListValue(我们可以参考一些已经实现的注解如@interface NotNull)
@ListValue(vals={
0,1})
private Integer showStatus;
//原信息数据
//可以标注在那些位置
@Target({
ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE, ElementType.CONSTRUCTOR, ElementType.PARAMETER})
//运行时获取到
@Retention(RetentionPolicy.RUNTIME)
@Documented
//使用哪个校验器进行校验
@Constraint(
validatedBy = {
ListValueConstraintValidator.class})
public @interface