Java 数字验证

标签 java spring validation model-view-controller

<分区>

我在 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);
}

无论如何,有一些选择。

关于Java 数字验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15646453/

相关文章:

java - 如何配置 Spring Controller 和/或 JAXB 以帮助防止 SQL/XSS 注入(inject)

java - BufferedImage 超出范围

java - 按多个值分组

eclipse - Eclipse 中的 "mvn spring-boot:run"和 "Add to Tomcat server"有什么区别?

java - Gradle - 运行 junit 测试找不到我的 xml 文件

validation - 评估 CNN 训练效果的最佳指标是什么?验证错误或训练损失?

c# - 如果 XML 文件损坏,如何使用 C# 进行验证

javascript - 尽管只满足几个条件之一,但 if 语句返回 true (jQuery)

java - Oracle AQ 出队顺序

java - scala 中的 protected 方法如何在 jvm 上工作