问题标签 [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.
javascript - 如何描述和验证以 cuid 作为键、将值作为具有特定属性的对象的对象数组
我有一个我正在尝试验证的唯一数据:
这是我现在的作文(无效且不正确):
以及我如何验证它(针对上下文):
以下是我到目前为止所引用的内容:
2) https://github.com/epoberezkin/ajv/blob/master/KEYWORDS.md
3) https://spacetelescope.github.io/understanding-json-schema/reference/object.html
附加信息:
1) 使用节点 8.1.3
2) AJV 5.2版
我知道我需要使用一组项目来描述对象。然而,该对象包含一个唯一的 cuid 作为键和作为对象的值。我想了解如何使用验证嵌套属性和 cuid 的模式来描述这些数据。我欢迎有关如何最好地处理这些数据的反馈。感谢您的时间。
validation - 使用 AJV 设置类型的默认规则
我试图弄清楚如何在全局范围内说所有数组的长度必须为 1 而不必使用 minItems: 1 我指定数组的架构中的每个位置。我正在考虑创建自定义类型,这是一种选择,但我觉得应该有更好的方法?
另一个全局限制是不允许任何空字符串。
谢谢您的帮助!
javascript - JSON 模式使用条件验证 oneOf
如何为下一个对象设置 json 模式验证器?他们都有场account_id
,但options
都是依赖type
。
如果twitter
它有列表tokens
,则每个都有四个字段。如果type
是instagram
,则每个标记在 中只有一个字段
tokens
。并且 forfacebook
type
字段options
必须为空。
是否可以制作满足这些要求的 json 模式?type
当每个定义都包含在关键字中时,即使是最简单的模式oneOf
也不起作用。
感谢您的任何建议!
node.js - ajv 验证失败并显示正确的架构“数据不应具有其他属性”
我正在使用ajv在将某些 JSON 数据写入数据库之前对其进行验证。我的请求数据基本上看起来像这样(例如):
文档:
这将传递给 ajv 验证器:
这就是 Testschema.out 的样子
Testschema 认为:
虽然 someDefinition 持有这一点:
但是,验证失败,并且我得到的错误是"data should NOT have additional properties"
明确地,“anotherId”模式中的任何内容由于某种原因验证失败。如果我在哪里将“id”属性添加到 Testschema,那么验证就会通过。
json - 使用 ajv 验证 json 模式时获取错误类型/值
我正在尝试使用 json 模式来验证 api 的 json。
我找到了 ajv 库,它似乎是 node.js 中最受欢迎的。
刚刚获得基础知识,我将我的模式定义为
然后我将它导入我的验证器
并使用 mocha (with mochaccino) 测试输出
按照来自ajv github 页面的指示,我希望我的测试会失败,因为所需的类型是字符串并且我提供了一个数字。但是我得到的响应ajv.errorsText()
是No Errors
它应该提供错误的地方。
看起来很简单,我做错了什么?
ajv - 基于属性值 true 或 false 的 Ajv 条件模式
}
请帮忙。:) 根据属性值调节有问题。我需要根据简单的条件验证 JSON:
- if
attributes.is_generic === false
> 帐户和场所属性应存在于关系属性中 - 如果
attributes.is_generic === true
> 只有场地应该在场
预先感谢。
准备好基本架构:
谢谢你的帮助
node.js - 如何将关键字 Nullable(或 allowNull)添加到 Ajv 中?
我写了以下代码。
但它不起作用。如何编写这样的验证器?
即使 compile 函数总是返回 true,它仍然没有通过验证。
代码可以在 Node-sandbox 中测试: https ://runkit.com/khusamov/59965aea14454f0012d7fec0
json - 使用 AJV 在 json 模式中验证空值
我正在使用 Ajv 来验证我的 JSON 数据。我无法找到将空字符串验证为键值的方法。我尝试使用模式,但它没有抛出适当的消息。
这是我的架构
我正在使用 minLength 来检查该值是否应包含至少一个字符。但它也允许空白空间。
javascript - JSON模式+相对JSON指针:如何验证“确认密码”字段
这是我的JSON 架构:
这是我的数据:
你可以将它们复制粘贴到这个在线验证器中,看看会发生什么。
该confirmPassword
字段验证失败并显示错误消息:
值“asdfasdf”与 const 不匹配。
我相信我的相对 JSON 指针有问题,但我不知道正确的语法是什么。
AFAICT,1/password
意思是“上一层,然后检查password
属性”,但似乎并非如此。什么是正确的语法?
我正在使用的具体实现是 AJV,它表示它确实 支持 relative-JSON-pointers。
javascript - Json Schema AJV not: const: 错误信息不明确
在我的模式中Ajv
使用时,我发现很难处理错误消息。not
在我的用例中,我想验证两个道具的价值不同。考虑这个例子:
模式.json
数据
输出
错误消息告诉我not
被拒绝,但真正相关的信息const
是不满意。
有没有人有提示或解决方法如何获得此用例的有意义的错误消息?