java - Spring中的JSR 303验证-当字段应该只接受整数时如何拒绝数字字符串
问题描述
当我在请求正文中验证 JSON 格式实体时,一个数字字段作为可解析为 Integer 的数字字符串进入,被接受为有效。但我想检查它是否只包含数字并拒绝任何字符串,无论是否可解析。
但我认为 JSR 303 验证不区分数字或字符串中的数字。
例如,它应该是:
{
"quantity": 1,
...
}
但是当它是:
{
"quantity": "1",
...
}
未检测到错误。
验证类似于:
@NotNull(message = "order item quantity is required")
@Digits(integer = Integer.MAX_VALUE, fraction = 0) // only integer
@PositiveOrZero
@ApiModelProperty(value = "Order Item quantity", required = true) // for Swagger UI
@JsonProperty("quantity")
private Integer quantity;
请注意,@Pattern
仅适用于 char 序列。
解决方案
推荐阅读
- sql - 如何从两个符号之间的字符串中获取子字符串
- java - CS50 Credit : 似乎找不到错误,
- javascript - 在 $.ajax 中使用“POST”方法传递数据时出现 500 内部服务器错误
- java - java中如何为StringBuffer对象生成哈希码?
- r - 替换缺失值
- python - 使用十六进制转义打印整个字符串,包括可打印字符
- redux - 如何在 redux store 中显示更新后的状态
- go - 在循环内创建 JWT 令牌时在 jwt-go 中获取相同的令牌
- module - 如何将特征的实现拆分为多个文件?
- python - 我在 settings.py 上实现了电子邮件设置,但是当我提交表单时它不起作用