我有一个表单中的输入字段,我使用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;
您可以使用这两个验证
@NotNull("message": "numericField: positive number value is required")
@Min(value=0, message="numericField: positive number, min 0 is required")
您可以使用min
约束来限制值仅为正数
//import javax.validation.constraints.Min;
@Min(value = 0, message = "numericField not be negative")
private Integer numericField;
将OP的最终解决方案从问题迁移到答案:
这是我修复它的最后方法:
@NotNull(message = "{validation.numericField.positive}") @Positive(message = "{validation.numericField.positive}") private Integer numericField;