在Spring中使用double值进行validation
我想检查有价值的分数:0.00 <=值<= 10.00
我用了:
-model(分数):
@Range(min = (long) 0.0, max = (long) 10.0) private double score;
-messages.properties:
Range.score.score=Please input 0<= score <=10
-servlet-context.xml中:
但是值= 10.01已通过检查。
请帮帮我。
我解决了我的问题:
@DecimalMax("10.0") @DecimalMin("0.0") private double score;
非常感谢@ Kayaman,@ hyness
有两个问题。 第一个问题是您尝试在注释的属性中指定数据类型。 您也不需要指定数据类型或分数,此注释仅采用整数。
此外,正如许多其他人所指出的那样,双精度和浮点数不允许舍入错误,因此您需要使用BigDecimal而不是double。 BigDecimal有一个doubleValue()方法来将值作为double。
@Range(min = 0, max = 10) private BigDecimal score;