我有多個進程,其中bean屬性必須具有不同的值。例如:Java Bean驗證:如何指定相同類型但具有不同組的多個驗證約束?
@Min(value=0, groups=ProcessA.class)
@Min(value=20, groups=ProcessB.class)
private int temperature;
不幸的是,Bean驗證JSR 303並沒有設置@Repeatable 上javax.validation.constraints.Min所以這種方法是行不通的。 我找到了「Min.List」,但沒有任何有關如何使用它的文檔。相反,在http://docs.oracle.com/javaee/7/api/javax/validation/constraints/class-use/Min.List.html
javax.validation.constraints.Min.List
沒有使用Oracle官方文檔狀態,以便在此刻這看起來像一個規範的錯誤?!?
文檔還表示「定義相同的元件在幾個最小注釋。」。所以它看起來完全像你想做的事情。你嘗試過使用它嗎?有什麼困難? –
javac拋出一個編譯錯誤:不可重複類型@ Min的重複註釋。只有標記@Repeatable的註釋類型可以在一個目標上多次使用。 –
這就是您在使用'@ Min'兩次時所說的內容,就像您發佈的代碼一樣。這就是爲什麼您應該使用'@ Min.List',它被記錄爲「在同一元素上定義幾個Min註釋」。當你使用'@ Min.List'時會發生什麼? –