我使用@AssertTrue
註釋來確保執行設置某些默認值的方法(始終返回true)。這些設置值被驗證爲@NotEmpty
(這些是字符串)。所以我需要保證用@AssertTrue
註釋的方法嚴格執行之前,這些字段用@NotEmpty
註釋。可以使用Hibernate Validator設置驗證順序嗎?
簡化代碼示例(不包括休眠註釋):
public class MyClass {
@NotEmpty
private String myField = null;
@SuppressWarnings("unused")
@AssertTrue
private boolean fillDefaultValues() {
if (this.myField == null) {
this.myField = "default value";
}
return true;
}
}
雖然我沒有看過javax.validation規範,這種行爲可能是實現特定的,即使你在這裏成功了,在下次升級時,如果在規範中沒有定義它,這種行爲可能會改變。正如我所說,這不是執行初始化的正確方法。 – Bozho
好的,也許這不是正確的方法,但是,什麼是正確的方法?由於我不知道這種方式,所以我使用這個,因爲它的工作原理。 – Alberthoven
在我的回答中,我發佈了一個鏈接到事件監聽器 - 檢查出來。 – Bozho