1

这是我在我们的应用程序中管理配置文件的架构:

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...

嗯,验证没问题。为什么 ?是否有解决此类错误的解决方案?

4

2 回答 2

0

这里可能有错别字:

validation = Validate([{}], , ProfileJsonSchema); 

3个参数而不是2个?

于 2012-02-07T12:01:14.800 回答
0

为了在十年后回答这个问题type,缺少 json 模式断言。如果没有这个,任何类型都是有效的。这个properties断言看起来似乎只允许对象,但实际上,它只断言if a property Profiles exists then it must satisfy the declared subschema. 由于Profiles甚至不是必需的属性,因此任何没有Profiles属性的对象也是有效的。

于 2021-06-07T14:10:58.870 回答