休眠验证-如何获取注释类型?

时间:2019-02-12 12:23:34

标签: hibernate validation

这是我要验证的TO类:

public class Person {

    @NotNull
    private String name;

    @NotNull
    @Pattern(regexp = ID.REGEX)
    private String id;

    public Person(String name, String id) {
        this.name = name;
        this.id = id;
    }
}

以及验证方法:

ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Person person = new Person(null, "notCorrextIdRegex");
validator.validate(person).stream().forEach(constraintViolation -> {
    ...
}

是否可以轻松获取在验证过程中失败的注释类型?我需要它来创建具有各种错误代码的Exception,具体取决于ConstraintViolation,例如:

@NotNull -> 新异常(“对象为空或空。”)

实现它是一种好方法吗?

1 个答案:

答案 0 :(得分:0)

您可以根据需要使用分组顺序(有关信息和示例,请参见the docs on chapter 2.3.1)对约束(使用groups属性)进行分组。