所以我有一个像这样的简单类:
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");
我希望它会抛出异常,但事实并非如此。我查看了这些惯例,它确实符合正确的惯例。那么这里的问题是什么?
答案 0 :(得分:0)
似乎在约束无效时不应抛出异常。而是使用验证程序实例根据您定义的约束验证字段。所以,像这样:
Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
Temail t = new Temail("123456789012345");
Set<ConstraintViolation<Temail>> constraintViolations = validator.validateProperty(t, "json");
查看更多示例和解释here。