我在 int 属性中使用验证:
@Digits(integer=6,fraction=0)
private Integer idOrder;
但我希望这个属性正好有 6 位数字。
我怎样才能做到这一点?(使用JSP+Spring+Hibernate)
我在 int 属性中使用验证:
@Digits(integer=6,fraction=0)
private Integer idOrder;
但我希望这个属性正好有 6 位数字。
我怎样才能做到这一点?(使用JSP+Spring+Hibernate)
由于您需要 6 位数字,我认为您应该对属性使用字符串。如果在某些情况下你需要它作为 int,你做一个
public int getIdOrder(){ return Integer.parseInt(idOrder);}
在字符串上,您可以使用模式验证。它会是这样的:
@Pattern(regexp="\\d{6}")
private String idOrder;
另一种选择是将 idOrder 保持为 int 并为字符串创建一个 getter:
public String getIdOrgetAsString(){
String s = "000000" + idOrder;
return s.substring(s.length() - 6);
}
无论如何,有一些选择。
你确定你的验证有效吗?
休眠文档说:
检查属性是否为最多包含整数位和小数位的数字。1
6位数是什么意思?是否支持前导零?或者该数字应该在 100.000 和 999.999 之间。在第一种情况下,我猜你的号码应该是一个字符串(带有@Length),在第二种情况下,我猜你应该使用@Min 和@Max。