如何在java中验证浮点数?用SpringMVC

时间:2017-04-13 13:45:12

标签: java validation

如果有人能帮助我弄清楚如何验证浮点,我就会徘徊。我有一个注释,它只验证整数,我需要输入字段能够除了十进制值,但不能为0.

我尝试过的事情:

@Range(min=(long)0.1)

这不起作用,允许0作为有效输入传递。 public float hoursUsed;

@ DecimalMin(0.1)
public BigDecimal hoursUsed;

我尝试将变量的类型更改为BigDecimal,然后我可以使用@DecimalMin(min=0.1)进行验证。但是,我在尝试操作此数据时遇到错误。
"The operator * is undefined for the argument type(s) BigDecimal, float"

尝试将浮点值转换为BigDecimal会导致错误
"The operator * is undefined for the argument type(s) java.math.BigDecimal, BigDecimal"

我还尝试创建一个customConstraintValidator注释,如果输入返回0,则会返回验证错误。这样我只需使用@Range(min=0)和自定义注释(例如){{1}确保输入确实比0更大。

这会导致ConstraintValidator出错,因为我无法通过泛型方法传递浮点值。错误是:
@NotZero

基本上我的问题是如何验证浮点?

0 个答案:

没有答案