在Spring中使用double值进行验证

Duc*_*ien 7 java validation spring

我想检查有价值的分数:0.00 <=值<= 10.00
我使用过:
-Model(Score):

 @Range(min = (long) 0.0, max = (long) 10.0)
 private double score;
Run Code Online (Sandbox Code Playgroud)

-messages.properties:

Range.score.score=Please input 0<= score <=10
Run Code Online (Sandbox Code Playgroud)

-servlet-context.xml中:

   <beans:bean id="messageSource"
        class="org.springframework.context.support.ResourceBundleMessageSource">
        <beans:property name="basename" value="messages" />
    </beans:bean>
Run Code Online (Sandbox Code Playgroud)

但是值= 10.01已通过检查.
请帮我.

Duc*_*ien 17

我解决了我的问题:

 @DecimalMax("10.0") @DecimalMin("0.0") 
 private double score;
Run Code Online (Sandbox Code Playgroud)

非常感谢@ Kayaman,@ hyness

  • "@ DecimalMax"和"@ DecimalMin"的源代码也说"请注意,由于舍入错误,{@ code double}和{@code float}不受支持..." (7认同)
  • 这是行不通的。请参阅https://docs.oracle.com/javaee/7/api/javax/validation/constraints/DecimalMin.html (2认同)