2010-07-07 39 views
2

如何獲取某個類的所有約束條件?比如我有Hibernate Validator 4+。獲取與某個類關聯的所有約束條件

class A { 
    @NotNull 
    private SomeBean field; 
} 

當我打電話:

ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); 
Validator validator = factory.getValidator(); 
Set<ConstraintDescriptor<?>> descriptor = validator.getConstraintsForClass(formClass).getConstraintDescriptors(); 

設置爲空。 我會假設Hibernate Validator中已經有了一些功能,它能以一種整潔的方式給我所有關於約束的信息,而不必訴諸反射API。

+0

我很好奇:你爲什麼需要它們?我通常更感興趣的違規行爲。 – 2010-07-07 20:50:04

回答

2

getConstraintsForClass()對類本身返回約束。爲了限制物業,你應該撥打getConstrainedProperties()

+0

謝謝, 只是一個側面說明getConstrainedProperties()在 Hibernate Validator v 4.1.0Final可用由於某種原因它不在主要的存儲庫,但你可以在這裏找到URL:https://repository.jboss.org/ nexus/content/repositories/public/ 對於那些使用像Maven那樣的一些依賴管理工具之王的人來說 – pmanolov 2010-07-08 08:24:34

相關問題