如何检查数字输入是不是为空?

Posted

技术标签:

【中文标题】如何检查数字输入是不是为空?【英文标题】:How can I check if a number input is not empty?如何检查数字输入是否为空? 【发布时间】:2021-09-14 08:48:47 【问题描述】:

我在使用 Spring Boot 验证器验证的表单中有这个输入字段:

<input class="form-control" th:field="*numericField"
    type="number" min="0" id="numeric_field_input">

有效范围是所有正数。但即使我不填写任何数字,该字段也会生效。我相信默认值为零。添加类似的东西

th:default="-1"

没有解决问题。如何在服务器端检查用户输入的任何值?

编辑:这些是我当前对该字段的注释:

   @Positive(message = "validation.numericField.positive")
   @ColumnDefault("0")
   private Integer numericField;

编辑 2: 这是我修复它的最后方法:

    @NotNull(message = "validation.numericField.positive")
    @Positive(message = "validation.numericField.positive")
    private Integer numericField;

【问题讨论】:

检查是否有值。 -1 是一个数值,所以它可能是一个有效的输入。如果您正在检查 Java,并且正在处理对象,则可以进行空检查 如何使用验证注释进行检查或需要更改什么? 是tomcat吗?因为我记得tomcat有一些关于不能正确处理空数值的老问题(我不记得它到底是什么,但我记得那是很多年前的事了)在服务器jvm中添加了一些神奇的键值对配置 【参考方案1】:

您可以使用min 约束来限制值只能是正数

//import javax.validation.constraints.Min;

@Min(value = 0, message = "numericField not be negative")
 private Integer numericField;

【讨论】:

【参考方案2】:

您可以使用这两种验证方式

@NotNull("message": "numericField: positive number value is required")

@Min(value=0, message="numericField: positive number, min 0 is required")

【讨论】:

太棒了!我使用了仅适用于字符串的@NotEmpty。 @NotNull 是正确的。也许您想将您的帖子更改为:@NotNull(message="numericField: positive number value is required") 这对我有用。

以上是关于如何检查数字输入是不是为空?的主要内容,如果未能解决你的问题,请参考以下文章

如何检查edittext是不是为空?

如何检查提交时输入字段是不是为空[重复]

检查所有输入是不是为空

如何检查 jQuery datepicker 是不是为空?

如何检查参数是不是为空并在查询中检查它

Tkinter 检查输入框是不是为空