所以我有一个像这样的简单类:
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");
请在此处查看更多示例和说明。