2017-09-16 159 views
0

如何驗證應該比零更嚴格的屬性?而不是零。我使用內置的註釋@Min(0),但我怎樣才能忽略零?有沒有其他內置的註釋在這種情況下?Java註釋驗證

@Min(0) 
default public Double getAmd1() { 
    return (Double) get("amd1"); 
} 
+1

由[的javadoc]的解釋(http://docs.oracle.com/javaee/7/api/javax/validation/constraints/展望Min.html),爲什麼不使用'@Min(1)'? –

+1

屬性是一個雙。所以它可以是0.5例如@KrishnanMahadevan – HoseinPanahi

回答

2

時退房@DecimalMin註釋 它提供了符合自己需求的布爾參數inclusive。 由於舍入問題,不支持Double,但BigDecimal是。然後,您可以使用getDouble()將該值設爲兩倍。

所以,你可以嘗試這樣的事:

@DecimalMin(value = "0.0" ,inclusive = false) 
private BigDecimal amd1; 

public BigDecimal getAmd1() { 
    Double d = (Double) get("amd1"); 
    return BigDecimal.valueOf(d); 
}