【发布时间】: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中添加了一些神奇的键值对配置
标签: java spring-boot validation html-input html-input-element