Каков подход с подтверждением пароля в проекте схемы JSON 07? - PullRequest
0 голосов
/ 02 июля 2019

AFAIK ключ $data был удален в черновике 07 схемы JSON, поэтому мне интересно, как приблизиться к Подтверждению пароля

Я использую 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 голосов
/ 03 июля 2019

$data никогда не был частью схемы JSON.

Используя чистую схему JSON, вы не сможете достичь того, о чем просите.

Было предложение добавить $data, и некоторые библиотеки реализовали его, но оно никогда не было включено в фактическую спецификацию.

...