0
我目前通過這種代碼驗證我的豆子:編程和聲明約束聲明
Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
validator.validateValue(class, propertyName, value);
我的課是這樣的:
public static interface Primitive {
public Primitive setString(String s);
@NotNull
public String getString();
}
這是工作的罰款至今。但是看起來,使用普通的hibernate驗證器從給定類獲取約束定義/映射並添加其他約束如here是不可能的。它看起來像約束映射是所有手動,我不喜歡待辦事項。另一方面,我用Validator.getConstraintsForClass(class)
得到的BeanDescriptor似乎不適用於ConstraintMapping。
這是我的想法:
ConstraintMapping mapping = new ConstraintMapping();
mapping
.type(Order.class).getConstraints()/*reads the constraints declared on the Bean*/
.property("customer", ElementType.FIELD)/*add additional constraints*/
.constraint(NotNullDef.class);
Validator validator = Validation
.byProvider(HibernateValidator.class)
.configure()
.addMapping(mapping)
.buildValidatorFactory()
.getValidator();