问题标签 [ajv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2112 浏览

validation - 基于特定属性数据值(即枚举值)的 AJV json 模式验证

我有一种情况,我需要再次验证 json json 模式,具体取决于其中一个属性中的值,在 json 模式术语中,enum 属性

这是json

reqType 可以采用不同的值,例如 account、dept 和 classes,基于应该需要的字段之一

我曾尝试使用 anyOf 相同但它不能正确验证 ex - 我尝试过以下模式

当它满足所有条件时,这似乎工作正常,但是当我检查其中一种情况失败时,它会给我一个错误,如下所示

它应该只给出第一个错误,应该验证第二种情况,而不是它说它没有得到枚举值,我在这里做错了吗

0 投票
1 回答
7485 浏览

jsonschema - 错误:ajv.addSchema 中的“模式应该是对象或布尔值”

我正在尝试重构一些 JSONSchema 检查以使用包含将一个模式包含在另一个模式中$ref

当我使用 AJV 验证模式时,我一直在尝试使用该addSchema函数来加载两个模式,但我不断收到错误消息schema should be object or boolean,但据我所知,我已经正确定义了模式。

我的 JS 代码如下:

架构tennis_sport_schema.json如下所示:

错误输出为:

谁能指出我哪里出错了?tennis_sport_schema.json被定义为“对象”,因此不确定为什么抛出错误以表明它不是。

0 投票
1 回答
349 浏览

jsonschema - 无法理解 FHIR 资源的 ajv 验证输出

我正在使用 ajv 验证 FHIR 资源。

这是 SampleOperationOutCome.json 文件

}

您可以从FHIR build 3.4 json schemas获取 json schema

验证时我面临的主要挑战是了解哪个是真正的源问题。例如,在这种情况下,我将 de“code”字段更改为“codeerror”,但在验证时,我主要得到以下错误列表:

我确实知道它是否是正常输出,或者这种行为的来源是否是 json 模式或 ajv,但我会期待一些消息,如“无效字段代码错误,预期代码之一”。

为了能够分析完整输出并获得真正的来源,有什么建议吗?

谢谢。

0 投票
1 回答
847 浏览

javascript - AJV is not validating my schema

I am facing problem regarding AJV Schema Validator. I have following schema

And my response is :

Using the following code to validate :

AJV should return error as schema and response are different, but AJV is returning 'no errors'. Is there any problem with the code ?

0 投票
1 回答
73 浏览

javascript - 在验证期间从自定义关键字代码访问“其他错误”?

我可以在验证自定义关键字时检查以前生成的验证错误吗?

这是迄今为止我能想到的最好的:

请注意,我使用该选项定义“compile:”fn 只是因为该选项允许“it”上下文,因此我可以从那里访问“it”或“it.self”。

为了清楚起见,并确认我正确解释了此功能(?),我将自定义关键字放在架构中的最后,因此我假设在验证时所有先前的关键字都将被验证并生成错误。

因此,在验证这个自定义关键字的过程中,我需要访问这些验证错误并据此做出一些决定。

但是,我不知道从这里去哪里(见上面的代码),因为在调试器中我没有看到任何错误。

it.self确实有一个“错误”属性,但它是=null.

0 投票
2 回答
3388 浏览

javascript - 使用 AJV 针对 JSON 模式验证 API 响应

我有很多天大量阅读并对此进行了几次测试,但没有得到预期的结果。我需要使用其 JSON 模式 (Swagger 2.0) 验证 API 响应。JSON 更长,但我已将其简化为简单。我需要知道响应中的“代码”和“消息”关键字是否定义了类型和值。这是我正在使用的代码:

如您所见,响应中的关键字“code”是“123”整数,但在架构中它被定义为字符串。与值无关,验证始终为“真”。我应该怎么做才能满足我的需求?提前致谢。

0 投票
1 回答
737 浏览

jsonschema - 在对象数组的情况下如何删除 Json 模式中的顺序依赖关系

我有一个 Json 模式模板,其中包含对象数组。我需要使用该模板验证 Json 输入。但我希望这不应该依赖于数组中对象的顺序。

下面我们在模板中有 3 个不同对象的数组,即 abs、endpoint 和 dispatch。我想从这里删除订单的依赖。我可以在 Json 输入模式中提供项目的蚂蚁顺序。它不应该依赖于模板。我正在使用“ajv”节点 js 模板来验证带有模板数据的 Json 输入。任何帮助,将不胜感激。谢谢。

0 投票
1 回答
717 浏览

javascript - 使用 AJV 针对 JSON 模式的 API 验证响应期间的错误输出

我正在使用 AJV 来验证针对 JSON 模式的 API 响应(招摇)。这是执行验证的脚本:

然后,我得到这个输出:

1-我不明白为什么ajv告诉我“模式ID”被忽略了。为什么它很重要?

2- 为什么它告诉我 IdDocument/类型“应该是对象”?它是响应中的对象,定义如下:

有人可以帮我理解吗?提前致谢!

0 投票
1 回答
195 浏览

npm - mean.io / 没有为 ajv@undefined 找到匹配的版本

我想运行 mean.io 并在npm install之后出现此错误。

0 投票
1 回答
2100 浏览

javascript - Ajv:使用动态键验证 json

在插入/更新我的数据库之前,我使用 ajv 来验证 JSON 数据模型。

今天我想用这个结构:

我的密钥是动态的,因为它们是 id。你知道如何用ajv验证它吗?

PS:作为替代解决方案,我当然可以使用这种结构:

然后我必须在数组上循环以找到我想要的 id。我所有的查询都会变得更加复杂,这让我很困扰。

感谢您的帮助 !