问题标签 [tv4]
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.
json - 如何验证 json 对象字段是否与 nodeJS tv4 验证库相等?
我正在编写代码来验证用户创建方法的 json 请求。Validator 必须检查 email 字段是否等于字段 confirmEmail。请求示例:
我正在使用 tv4 模式验证库。目标是编写一个模式来验证 email 和 confirmEmail 字段之间的相等性。
当然,我可以直接检查请求中的那些字段,但我会将其用作最后的手段,以防模式验证不起作用。
jsonschema - JsonSchema 未使用 oneOf 验证
需要帮助来查找此架构的错误。它有 oneOf 运算符。架构在这里:
我的 Json 是这样的:
它不适用于 tv4,我也尝试了这个 在线工具。它在没有 oneOf 运算符的情况下工作。否则它不会验证任何工具。
编辑:
阅读答案后,我修改了架构。新架构是:
json在这里
但它验证。我想在正文中强制执行“客户”或“用户”之一。为了测试,我已经从正文中删除了用户。
请帮忙。
arrays - TV4 JSON Schema 对象数组验证
我想验证一个名为“foo”的属性是否包含一个“bar”对象数组。
如果我使用数组作为 foo 的值,则使用 TV4 进行验证所有工作都按预期工作,但是如果我指定数组以外的其他内容,例如字符串或整数,则验证通过时不应该通过。
使用正确格式化的数组按预期通过。
由于格式不正确的数组而按预期失败。
传递事件虽然 foo 应该是一个数组。
下面是完整的代码。
javascript - JSON tv4 对象在 true 且存在其他对象时有效
可以验证 JSON,如果对象的值为 true,那么这个对象是有效的,如果 Obj2.included == true 是有效的,如果 Obj1.included == true ?
这是一小部分架构:
我想检查:
- 如果 ZalA.included == true,则有效。
- 如果 ZalA.included == true 并且 ZalB.included == true,则有效。
- 如果 ZalA.included == false 和 ZalB.included == true,则无效。
是否可以使用 tv4 JSON 验证器检查这些约束?
javascript - _water_glass 的 javascript 正则表达式模式
我需要一个 javascript 正则表达式模式来测试模式变量,因此它应该具有以下任一条件。
- 它可以以任何字符开头,后跟“_water_glass”,并且不能是 water_glass 之后的任何字符,例如“xxxx_water_glass”
或者
- 可以只是“water_glass”,不需要在 water_glass 之前有字符,也不能是 water_glass 之后的任何内容。
任何人都可以帮助获得正则表达式模式。
json - 无法验证架构并正确使用附加属性
我正在尝试验证我的 JSON 模式并使用 additionalProperties: false 来确认没有其他属性。我的 responseBody 如下所示:
在邮递员测试中,我添加了这个
测试应该返回失败,因为我从架构中删除了“电话”属性,但测试仍然运行有效......我试图将架构更改为 {type:array, properties: {type: object, properties {list of properties}additionalProperties : false}} 但测试仍然返回 PASS 而不是 FAIL ......知道吗?
javascript - json 模式不适用于空响应正文
我已经编写了一个模式来验证响应正文。并将所有项目设置为“必需”。但是当body返回空数组时,它直到PASS,应该是FAIL。像这样的架构:
像这样的回应:
jsonschema - oneOf 的 JSON Schema 自定义消息
有没有办法为json模式(tv4)设置自定义消息,以便在oneOf
字段失败时?
我看到大约一年前这里和这里有一个自定义消息的问题,但是有没有办法让这个工作适合这样的事情?
与仅仅看到相反Data does not match any schemas from \"oneOf\"
,你可以看到Code does not match schema
[编辑]
我正在尽我所能阅读 tv4 代码,并且我看到了很多关于自定义错误消息和代码的信息,例如
我可以用它自己的状态代码(通过这个函数)通过一个简单的行添加我自己的错误tv4.defineError('MY_CUSTOM_CODE_ERROR', 999999, "Hello World, you have a custom code error");
。如何将此错误与此特定 json 架构相关联?如果我完全在错误的地方,那么请有人指出这一点
validation - 尝试在带有 tv4 的 Postman 中使用外部参考
我正在尝试在 Postman 中使用外部引用并使用 tv4 进行验证。这是我的代码:
测试后我得到
'TypeError 无法读取未定义的属性'$ref''
.
这是否意味着我的架构在某种程度上无效?
json - POSTMAN 为模式验证测试返回失败
我有一个示例响应:
我为响应编写了一个测试:
此测试返回 [FAIL]。测试中有哪些错误?
感谢您的回复!