Hibernate Validator 第19篇:自定义约束-约束注解
2024-07-06Bean Validation API定义了一整套标准的约束注解,例如@NotNull,@Size等等。这种情况下,这些内建的约束是不够的,你可以很容易地创建自定义的约束,根据你自己的校验需要。
一、首先
为了建立一个自定义约束,下面的三个步骤是必须的:
创建一个约束注解;
实现一个校验器;
定一个默认的error message。
一、约束注解
展示写一个约束注解,这个注解的作用是保证被给定的字符串完全是大写,或者是小写字母。之后这个注解会被应用到Car类中的licensePlate字段上,来保证这个域值总是大写的字符串。
首先第一步要做的事是定义一种方式,表达两种字符模式,这里你可以使用String约束,一个更好的方式是使用枚举值:
public enum CaseMode {
UPPER,
LOWER;
}
第二步是定义事实上的约束注解。如果你之前从没定义过注解,这可能看起来有点小害怕,不过事实上它一点也不难。
import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType