0

我似乎找不到如何让 AJV 使用 0.7(或 0.6 或 0.4)。我认为是“$schema”关键字,但我找不到不会导致错误的字符串 (URI)。

如果我是对的,我应该为有效的关键字“$schema”分配什么值?

如果我错了,还有其他方法可以指示版本,请告诉我。

提前感谢您的帮助。

4

1 回答 1

0

在 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]

参考

  1. https://ajv.js.org/
于 2018-12-08T20:03:04.217 回答