json模式草案07的确认密码方法是什么?

时间:2019-07-02 20:01:41

标签: jsonschema

AFAIK $data密钥已在JSON模式的草稿07中删除,因此我想知道如何使用确认密码

我正在使用Newtonsoft JSON Schema Validator,并且具有以下架构,但是出现下一个错误:

错误:

错误消息   

{
  "$schema": "http://json-schema.org/draft-07/schema",
  "definitions": {
    "SignIn": {
      "properties": {
        "Password": {
          "$id": "SignInPassword",
          "maxLength": 15,
          "minLength": 6,
          "type": "string"
        },
        "Username": {
          "oneOf": [
            {
              "format": "email",
              "type": "string"
            },
            {
              "pattern": "^\\+?[1-9]\\d{1,14}$",
              "type": "string"
            }
          ]
        }
      },
      "required": [
        "Password",
        "Username"
      ],
      "type": "object"
    }
  },
  "allOf": [
    {
      "$ref": "#/definitions/SignIn"
    },
    {
      "properties": {
        "ConfirmPassword": {
          "const": {
            "$data": "1/Password"          
          },
          "minLength": 6,
          "type": "string"
        }
      },
      "required": [
        "ConfirmPassword"
      ],
      "type": "object"
    }
  ]
}

1 个答案:

答案 0 :(得分:0)

$data从来都不是JSON模式的一部分。

使用纯JSON架构,您无法实现所要询问的内容。

有人提议添加$data,有些库实现了它,但是它从未包含在实际规范中。