gpt4 book ai didi

java - 在 Spring 中绑定(bind)期间溢出数字的自定义消息

转载 作者:搜寻专家 更新时间:2023-11-01 03:50:52 24 4
gpt4 key购买 nike

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

我想到了两种解决方案:

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

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

最佳答案

您能否将 hibernate 验证框架/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/

关于java - 在 Spring 中绑定(bind)期间溢出数字的自定义消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28805727/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com