Json условная схема minLength для проверки CSV - PullRequest
0 голосов
/ 10 апреля 2020

Мне нужно использовать csvValidator, я нашел один с npm, который позволяет задавать правила проверки, используя схему json. Это первый раз, когда я его использую, но я выполнил каждое из моих требований проверки, за исключением одного (на самом деле два, но они одного типа).

У меня есть поле, которое может быть пустым, только если другое поле имеет значение c. Я пробовал это, но безуспешно:

"properties":{
    "myVariable": {
            "type": ["string", "number"],
            "maxLength": 11,
            "if": {
                "properties": {
                    "devise": { "const" :"XPF"}
                }
            },
            "then": {
                        "minLength" : 0
            }
         }
}

Я читал об условной подпоследовательности, но до сих пор я не нашел что-то, что работает.

Спасибо за чтение.

1 Ответ

0 голосов
/ 10 апреля 2020

Ты довольно близко. Вам просто нужно переместить условный уровень вверх. Подсхема может ссылаться только на вещи внутри своей схемы. Это означает, что внутри схемы /properties/myVariable вы не можете ссылаться на свойство "devise".

"properties":{
  "devise": { "type": "string" },
  "myVariable": {
    "type": ["string", "number"],
    "maxLength": 11,
  }
}
"if": {
  "properties": {
    "devise": { "const" :"XPF"}
  }
},
"then": {
  "properties": {
    "myVariable": { "minLength" : 0 }
  }
}
...