如果有人能帮助我弄清楚如何验证浮点,我就会徘徊。我有一个注释,它只验证整数,我需要输入字段能够除了十进制值,但不能为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
基本上我的问题是如何验证浮点?