2017-09-16 241 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); 
}