【问题标题】:Custom message for overflowed number during binding in SpringSpring绑定期间溢出号码的自定义消息
【发布时间】:2015-03-02 08:51:34
【问题描述】:

我有一个用 Spring 编写的 Web 应用程序。有一个带有一个整数字段的 HTML 表单。我为typeMismatch.java.lang.Integer 添加了一条自定义消息,它得到了正确处理,但存在一个问题。 Spring 不区分字符串值和“溢出”整数。换句话说 - 用户输入this is a string1000000000000000000000000000 没有区别。两者都由 Spring 处理为typeMismatch。对于这两种情况,我希望有两条单独的消息。

我想到了两个解决方案:

  1. java.lang.Integer 替换为java.math.BigInteger 表单对象 - 那么typeMismatch 错误将仅适用于this is a string,我将处理1000000000000000000000000000 验证器
  2. Integer注册我自己的属性编辑器,但我不确定我是否 一个属性编辑器可以处理两种不同的错误

你对这个问题有什么更好的概念吗?

【问题讨论】:

    标签: java spring spring-mvc type-mismatch


    【解决方案1】:

    您能否将休眠验证框架/Java EE6 bean 验证集成到您的 Spring 项目中?

    然后,您可以使用以下注释限制整数字段允许的可接受范围:

    @Min(1)
    @Max(10000)
    private Integer myInteger;
    

    这是一篇易于理解的文章:

    http://www.c-sharpcorner.com/UploadFile/5fd9bd/javax-annotation-and-hibernate-validator-a-pragmatic-appro/

    【讨论】:

      猜你喜欢
      • 2013-05-21
      • 1970-01-01
      • 1970-01-01
      • 2020-04-05
      • 2020-08-15
      • 2015-07-29
      • 1970-01-01
      • 1970-01-01
      • 2016-01-27
      相关资源
      最近更新 更多