Как заставить AJV (v5.0.0) использовать схему JSON 0.7?

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

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

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

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


person DEzell    schedule 08.12.2018    source источник


Ответы (1)


На веб-сайте 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:

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

Ссылки

  1. https://ajv.js.org/
person customcommander    schedule 08.12.2018
comment
Это правильно. Более новая версия ajv поддерживает более новую версию схемы JSON. - person Relequestual; 10.12.2018