【问题标题】:JsonSchema regex pattern validation not workingJsonSchema 正则表达式模式验证不起作用
【发布时间】:2018-02-09 15:07:57
【问题描述】:

以下是我需要验证的 jsonSchema 字段

"field1": 
      {
        "type": "integer",
        "javaType": "long",
        "pattern": "^[0-9]{6}"
      },
      "field2": {
        "type": "integer",
        "javaType": "long",
        "pattern": "^[0-9]{10}"
      },

字段 1 应为 6 位,字段 2 应为 10 位。 但是当我上传小于或大于给定限制的数据时,它仍然有效。 不知道问题出在哪里

【问题讨论】:

    标签: json jsonschema json-schema-validator


    【解决方案1】:

    模式不完整,它们相当于startsWith(6 digits)startsWith(10 digits)。 您需要在末尾添加$ 以验证字段的长度正好是 6 位和 10 位。

    ^[0-9]{6}$ ^[0-9]{10}$

    经过一些测试,我发现由于一些我不明白的黑魔法,如果将它与整数字段一起使用,模式将始终匹配。 如果要检查整数的长度,应该使用minimummaximum

    "field1": {
        "type": "integer",
        "javaType": "long",
        "minimum": 100000,
        "maximum": 999999
    },
    "field2": {
        "type": "integer",
        "javaType": "long",
        "minimum": 1000000000,
        "maximum": 9999999999
    }
    

    我使用 Postman 进行了测试,我不知道它是否最适合,但这是我运行的唯一工具。

    【讨论】:

      猜你喜欢
      • 2021-06-18
      • 2018-11-29
      • 2014-04-21
      • 1970-01-01
      • 2016-08-01
      • 2011-03-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-01
      相关资源
      最近更新 更多