使用Hibernate Validator验证double和float值-bean验证
问题内容:
我正在寻找一种方法来验证java.lang.Double
Spring命令bean中的字段的最大值和最小值(值必须位于给定的值范围之间),例如,
public final class WeightBean
{
@Max(groups={ValidationGroup.class}, value=Double.MAX_VALUE, message="some key or default message")
@Min(groups={ValidationGroup.class}, value=1D, message="some key or default message")
private Double txtWeight; //Getter and setter.
public interface ValidationGroup{}
}
但是两者@Max
并@Min
不能带来java.lang.Double
价值。
请注意,由于舍入错误,不支持double和float(某些提供程序可能会提供一些近似支持)
那么验证此类字段的方式是什么?
我正在使用Spring 3.2.0和Hibernate Validator 4.3.1 CR1。
问题答案:
您可以使用注释,但可能会得到错误的结果。这是double和imo的普遍问题,在许多情况下应避免_Double_s。也许切换到其他类型是最好的解决方案?例如
BigDecimal ?