如何在javax.validation.contraints

时间:2019-03-29 08:53:38

标签: spring-boot spring-web

我无法在我的REST API中使用Long来验证手机号码(类型为javax.validator)的长度。固定大小的手机号码字段应该使用什么注释?

1 个答案:

答案 0 :(得分:0)

如果手机号码是数字字段(CREATE TABLE tokens ( id, token ) AS SELECT 1, 10 FROM DUAL UNION ALL SELECT 2, 3 FROM DUAL UNION ALL SELECT 3, 0 FROM DUAL UNION ALL SELECT 4, -1 FROM DUAL UNION ALL SELECT 5, -9 FROM DUAL; ),则可以使用SELECT id, GREATEST( token, 0 ) AS token FROM tokens; Long批注来控制号码的“大小”,例如:

@Min

如果使用这些注释,请确保您的电话号码在1000000到9999999之间,因此在此示例中,您只能使用7位数字。

但是,请注意,手机号码0123456无效,因为数字是数字,所以丢失了前缀“ 0”(@Max将改为@NotNull @Min(1000000) @Max(9999999) private Long mobileNumber; ),并且您的验证将失败。您可以删除mobileNumber注释以“解决”此问题。

或者,如果您的手机号码可以以零开头,那么将123456字段用于您的手机号码可能更有意义。在这种情况下,您应该使用@Min批注:

String