Как мне заставить AJV (v5.0.0) использовать JSON Schema 0.7? - PullRequest
0 голосов
/ 08 декабря 2018

Я не могу найти, как заставить AJV использовать 0,7 (или 0,6 или 0,4).Я думаю, что это ключевое слово "$ schema", но я не могу найти строку (URI), которая не вызывает ошибку.

Если я прав, какое значение мне следует назначить ключевому слову"$ схема", которая будет работать?

Если я ошибаюсь, и есть другой способ указать версию, пожалуйста, дайте мне знать.

Заранее спасибо за любую помощь.

1 Ответ

0 голосов
/ 08 декабря 2018

На веб-сайте Ajv они рекомендуют Ajv v6 работать со схемами не по умолчанию:

Обратите внимание: для использования Ajv со схемами draft-06 необходимо явно добавитьмета-схема для экземпляра валидатора: [1]

ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-06.json'));

Если вы устанавливаете Ajv v5 и просматриваете папку lib/refs, схема draft-07 ненедоступно:

$data.json
json-schema-draft-04.json
json-schema-draft-06.json
json-schema-v5.json

Так что я не думаю, что вы можете применить подобную технику для работы с draft-07 с Ajv v5, и это может быть причиной того, почему вы боретесь с этим.

Я бы порекомендовал использовать Ajv v6, так как он по умолчанию работает с draft-07:

Выпущена версия 6.0.0 Ajv, поддерживающая draft-07.[1]

Рекомендации

  1. https://ajv.js.org/
...