这是我在我们的应用程序中管理配置文件的架构:
var ProfileJsonSchema = {
properties: {
Profiles: {
optional: false,
items: {
optional: false,
properties: {
Email: {type: String},
FirstName: {type: String},
Zip: {type: String},
City: {type: String}
}}}};
和我的数据
[{}]
和要测试的代码
validation = Validate([{}], ProfileJsonSchema);
if (!validation.valid) {
return;
}
// do something...
验证还可以。 为什么? 有没有解决方案来处理这类错误?
答案 0 :(得分:0)
这里可能有一个错字:
validation = Validate([{}], , ProfileJsonSchema);
3个参数而不是2?
答案 1 :(得分:0)
为了在十年后回答这个问题,缺少 json 模式 type
断言。如果没有这个,任何类型都是有效的。 properties
断言可能看起来只允许对象,但实际上,它只断言 if a property Profiles exists then it must satisfy the declared subschema
。由于 Profiles
甚至不是必需的属性,因此任何没有 Profiles
属性的对象也是有效的。