问题标签 [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 回答
2678 浏览

node.js - 使用 json-schema 和 AJV 验证多次出现的查询参数

我想使用 AJV 验证相同查询参数的多次出现。

我的 OpenApi 架构如下所示:

我将其转换为有效的 json 模式,以便能够使用 AJV 对其进行验证:

自然地,AJV 验证适用于整数类型的一个参数。

我希望能够验证多次出现的user_id. 例如:/contacts?user_id=1&user_id=2被转换为{ user_id: [1, 2] }并且我希望它实际上是有效的。

此时验证失败,因为它需要一个整数但接收到一个数组。有没有办法独立验证数组的每个项目?

谢谢

0 投票
1 回答
3112 浏览

jsonschema - 如何使用 JSON Schema (ajv) 验证数字中的位数?

在双因素身份验证 (2FA) 中,表单要求仅由 6 位数字组成的代码,例如:064964

我使用著名的Ajv JSON Schema Validator

我无法为此代码构建验证方案:

你能帮助我吗?

0 投票
0 回答
559 浏览

json-schema-validator - 如何让 AJV (v5.0.0) 解决 $schema?

使用 AJV 编译它时,我无法在我的 JSON Schema 的顶部解决此行:“$schema”:“node_modules/ajv/lib/refs/json-schema-draft-04#”

我也试过这条线,但无济于事:“$schema”:“ http://json-schema.org/draft-04/schema#

(以及上述的许多其他排列。)

无论我说什么,AJV 都会说:“错误:没有带有键或引用的模式......”

这个属性到底需要什么?

谢谢(顺便说一句,AJV 很棒,谢谢。)

0 投票
1 回答
68 浏览

jsonschema - 如何让 AJV (v5.0.0) 使用 JSON Schema 0.7?

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

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

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

提前感谢您的帮助。

0 投票
1 回答
36 浏览

javascript - 在 JS 库中调用的 AppComponent 中声明的函数中未定义 Http

试图调用一个函数,该函数从另一个 javascript 库 (AJV) 中的 http 响应返回一个承诺,但未定义的 httpClient 模块

问题是我们可以在任何其他节点模块中使用 appcomponent 导入的模块吗?

应用组件文件:

0 投票
1 回答
1686 浏览

javascript - NodeJS Ajv 模块总是记录消息'$ref:路径“#”的架构中忽略的关键字'

我正在使用 ajv 来验证正文请求。随着每一个请求的到来,ajv 工作正常,但它总是记录消息' $ref:在路径“#”的架构中忽略的关键字'

我有 2 个架构,login.jsonlogin.defs.json

login.defs.json定义一个通用的模式定义,login.json引用它。

登录.json

login.defs.json

请告诉我我做错了什么?

0 投票
1 回答
188 浏览

javascript - Expressjs 同步/异步中间件问题——如何解决?

我有一个 Expressjs 路由,它基于请求中的一些 JSON Body 参数执行 db INSERT(使用 Sequelize)。中间件对bodyParser主体进行 JSON 模式验证,如果未验证则返回错误。

这里的问题是其中的某些bodyparser内容正在异步执行,并且我遇到了错误,例如将空值插入数据库(即使在验证失败之后)和Headers already returned to client错误。

如何最好地解决这个问题?

路线:

中间件:

0 投票
2 回答
1057 浏览

javascript - Objection.js 忽略对无法识别的属性类型的验证?

我在我的反对模型中使用这个 jsonSchema:

您可以看到date是 AJV 验证无法识别的类型(由 Objection.js 使用)。但是,插入以下数据时,插入操作返回成功:

为什么 AJV 在创建模式时没有返回验证错误?

我在一个最小的 JSFiddle 示例中进行了测试,它确实返回了一个错误(AJV v6.6.2) https://jsfiddle.net/ads80y5j/

我正在使用 Objection v1.4.0(使用 AJV v^6.1.1)

0 投票
2 回答
1272 浏览

javascript - AJV 的验证器总是返回真值

我需要通过以下方式验证 JSON 文件:

并编译:

我的问题是那一行:

true即使验证器的参数是上面的空字符串,也总是返回。我想加载方式很糟糕,但是......需要问比我更聪明的人。

0 投票
1 回答
296 浏览

node.js - 检查语法正确但语义不正确的 JSON Schema

我想检查语法上正确但语义上不正确的 JSON 模式本身。

例如

在上面的示例中,有type_invalid键不正确,它应该是type。有什么方法可以验证 JSON 模式本身吗?

供参考:我正在使用ajv针对 JSON 模式验证 JSON。