问题标签 [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.
node.js - 使用 json-schema 和 AJV 验证多次出现的查询参数
我想使用 AJV 验证相同查询参数的多次出现。
我的 OpenApi 架构如下所示:
我将其转换为有效的 json 模式,以便能够使用 AJV 对其进行验证:
自然地,AJV 验证适用于整数类型的一个参数。
我希望能够验证多次出现的user_id
. 例如:/contacts?user_id=1&user_id=2
被转换为{ user_id: [1, 2] }
并且我希望它实际上是有效的。
此时验证失败,因为它需要一个整数但接收到一个数组。有没有办法独立验证数组的每个项目?
谢谢
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 很棒,谢谢。)
jsonschema - 如何让 AJV (v5.0.0) 使用 JSON Schema 0.7?
我似乎找不到如何让 AJV 使用 0.7(或 0.6 或 0.4)。我认为是“$schema”关键字,但我找不到不会导致错误的字符串 (URI)。
如果我是对的,我应该为有效的关键字“$schema”分配什么值?
如果我错了,还有其他方法可以指示版本,请告诉我。
提前感谢您的帮助。
javascript - 在 JS 库中调用的 AppComponent 中声明的函数中未定义 Http
试图调用一个函数,该函数从另一个 javascript 库 (AJV) 中的 http 响应返回一个承诺,但未定义的 httpClient 模块
问题是我们可以在任何其他节点模块中使用 appcomponent 导入的模块吗?
应用组件文件:
javascript - NodeJS Ajv 模块总是记录消息'$ref:路径“#”的架构中忽略的关键字'
我正在使用 ajv 来验证正文请求。随着每一个请求的到来,ajv 工作正常,但它总是记录消息' $ref:在路径“#”的架构中忽略的关键字'
我有 2 个架构,login.json和login.defs.json
login.defs.json定义一个通用的模式定义,login.json引用它。
登录.json
login.defs.json
请告诉我我做错了什么?
javascript - Expressjs 同步/异步中间件问题——如何解决?
我有一个 Expressjs 路由,它基于请求中的一些 JSON Body 参数执行 db INSERT(使用 Sequelize)。中间件对bodyParser
主体进行 JSON 模式验证,如果未验证则返回错误。
这里的问题是其中的某些bodyparser
内容正在异步执行,并且我遇到了错误,例如将空值插入数据库(即使在验证失败之后)和Headers already returned to client
错误。
如何最好地解决这个问题?
路线:
中间件:
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)
javascript - AJV 的验证器总是返回真值
我需要通过以下方式验证 JSON 文件:
并编译:
我的问题是那一行:
true
即使验证器的参数是上面的空字符串,也总是返回。我想加载方式很糟糕,但是......需要问比我更聪明的人。
node.js - 检查语法正确但语义不正确的 JSON Schema
我想检查语法上正确但语义上不正确的 JSON 模式本身。
例如
在上面的示例中,有type_invalid键不正确,它应该是type。有什么方法可以验证 JSON 模式本身吗?
供参考:我正在使用ajv针对 JSON 模式验证 JSON。