以下是我需要验证的jsonSchema字段
"field1":
{
"type": "integer",
"javaType": "long",
"pattern": "^[0-9]{6}"
},
"field2": {
"type": "integer",
"javaType": "long",
"pattern": "^[0-9]{10}"
},
字段1应为6个正好数字,字段2应为10个数字。 但是,当我上传的数据少于或大于给定的限制时,它仍然有效。 不确定问题出在哪里
答案 0 :(得分:0)
模式不完整,相当于startsWith(6 digits)
和startsWith(10 digits)
。
您需要在末尾添加$
以验证字段的长度是6位和10位。
^[0-9]{6}$
^[0-9]{10}$
经过一些测试后,我发现由于某些黑魔法我不明白,如果你将它与整数字段一起使用,模式总会匹配。
如果要检查整数的长度,则应使用minimum
和maximum
。
"field1": {
"type": "integer",
"javaType": "long",
"minimum": 100000,
"maximum": 999999
},
"field2": {
"type": "integer",
"javaType": "long",
"minimum": 1000000000,
"maximum": 9999999999
}
我和Postman一起做了测试,我不知道它是否是最好的,但这是我运行的唯一工具。