如果输入的值大于 int 的范围,我如何验证 Request bean 中的整数字段?
How do I validate an integer field in a Request bean, if the entered value is greater than the range of an int?
为了验证请求 bean 中的整数字段,我使用了 @range (min=0,max=99999999,message="invalid") and @digits().
他们抛出错误
org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Numeric value (1111118493411) out of range of int;
- 我的需要是验证一个整数字段并在请求层本身抛出验证错误。
- 我的数据库有一个大小为 10 的 int4 类型的字段。
- 我不希望用户传递大于 10 位的值。
我如何在我的请求层本身处理这个以限制用户输入超过 10 位数字
@JsonProperty(value = "qty", required = true)
@NotNull
@Range(min=0, max=999999999 , message = "invalid")
private Integer qty;
如果用户输入的数字超过 10 位,我希望抛出一个错误,说明无效。
最大 int 值为 java 中的 2,147,483,647
。你可以在这个answer中看到。您的值大于 max int 值。所以你应该改变数量的 class 字段类型(例如 long)。
为了验证请求 bean 中的整数字段,我使用了 @range (min=0,max=99999999,message="invalid") and @digits().
他们抛出错误
org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Numeric value (1111118493411) out of range of int;
- 我的需要是验证一个整数字段并在请求层本身抛出验证错误。
- 我的数据库有一个大小为 10 的 int4 类型的字段。
- 我不希望用户传递大于 10 位的值。
我如何在我的请求层本身处理这个以限制用户输入超过 10 位数字
@JsonProperty(value = "qty", required = true)
@NotNull
@Range(min=0, max=999999999 , message = "invalid")
private Integer qty;
如果用户输入的数字超过 10 位,我希望抛出一个错误,说明无效。
最大 int 值为 java 中的 2,147,483,647
。你可以在这个answer中看到。您的值大于 max int 值。所以你应该改变数量的 class 字段类型(例如 long)。