Javax Validation Size注释的行为不正确



所以我有一个像这样的简单类:

import javax.validation.constraints.Size;
public class Temail {
    @Size(min = 0, max = 10)
    private String json;
    public Temail(String json) {
        Validate.notEmpty(json, "json can't be empty");
        setJson(json);
    }
    public void setJson(String json) {
        this.json = json;
    }
    public String getJson() {
        return json;
    }
}

我所期望的是,如果我运行new Temail("1234123123123");,我希望它抛出一个异常,但它没有。我看了一下惯例,它确实符合正确的惯例。那么这里的问题是什么呢?

似乎不应该在约束无效时抛出异常。相反,您使用一个验证器实例根据您定义的约束来验证字段。所以,像这样的东西:

Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
Temail t = new Temail("123456789012345");
Set<ConstraintViolation<Temail>> constraintViolations = validator.validateProperty(t, "json");

请在此处查看更多示例和说明。

最新更新