当我在请求体中验证一个JSON格式的实体时,一个数字字段作为一个可解析为整数的数字字符串被接受为有效。但我想检查它只包含数字,并拒绝任何字符串,无论是否可解析。
但我认为jsr303验证不能区分数字或字符串中的数字。
例如,它应该是:
{
"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
仅适用于字符序列。