我似乎找不到如何让 AJV 使用 0.7(或 0.6 或 0.4)。我认为是“$schema”关键字,但我找不到不会导致错误的字符串 (URI)。
如果我是对的,我应该为有效的关键字“$schema”分配什么值?
如果我错了,还有其他方法可以指示版本,请告诉我。
提前感谢您的帮助。
我似乎找不到如何让 AJV 使用 0.7(或 0.6 或 0.4)。我认为是“$schema”关键字,但我找不到不会导致错误的字符串 (URI)。
如果我是对的,我应该为有效的关键字“$schema”分配什么值?
如果我错了,还有其他方法可以指示版本,请告诉我。
提前感谢您的帮助。
在 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
所以我认为你不能应用类似的技术来处理带有 Ajv v5 的 Draft-07,这可能就是你为此苦苦挣扎的原因。
我的建议是使用 Ajv v6,因为它默认与 Draft-07 一起使用:
发布了支持 Draft-07 的 Ajv 版本 6.0.0。[1]
参考