2014-03-05 35 views
0

我需要弄清楚的註解類我的自定義ConstraintValidator,但我沒有找到,而無需使用供應商特定的API就像一個辦法:找出註解類ConstraintValidator implementaiton

ConstraintValidatorContextImpl x = (ConstraintValidatorContextImpl)constraintContext; 
getValidationContext().getCurrentOwner(); 

是否有一個非特定的供應商找出註釋類的方法?

非常感謝您的支持。 Oli

+0

你實際需要解決什麼問題?基於此,可以提供有用的答案。 – Gunnar

+0

我必須驗證值取決於註釋類。應用程序中有兩種類型的對象,它們的值(協議列表)相關但不相同。因此,我必須檢查兩個不同列表的值。 – user391548

回答

0

根據你的意見,我建議要麼實現兩個單獨的約束,每個目標類一個(他們可以共享使用委託或超級類的實現代碼)。

或者你實現一個類級約束,它自然有權訪問驗證過的類及其所有屬性。請注意,您仍然可以在驗證器實現中使用約束構建器API讓結果約束驗證指向該類的特定屬性。

0

我推薦實施2個ConstraintValidators,每個類一個。這兩者都會使用在validateBy()方法中引用它們的相同Annotation。