2016-07-27 113 views
1

我使用aldeed:collection2和​​包。我想根据模式验证文档。我的模式包含例如一个带有allowedValues数组的字符串字段和一个用子模式描述的嵌套对象数组。就像这样:流星SimpleSchema说随机的东西是有效的

...

type: { 
    type: String, 
    allowedValues: [ 'A', 'B', 'C' ], 
    defaultValue: 'A', 
    index: 1, 
    }, 
nestedStuff: { 
    type: [ new SimpleSchema(nestedStuffSchema.schema(Meteor, SimpleSchema)) ], 
    defaultValue: [], 
    }, 

...

我有一个 '坏' 的文档具有如type字段中的“D”和无效的嵌套数组项目。

在客户端我想:

Contacts.simpleSchema().namedContext().validate(badDoc); 

并返回true。 SimpleSchema说,即使文档的字段不遵守模式,该文档也是有效的。 单独验证'bad'type字段也会返回true。 我在做什么错?为什么SimpleSchema会假定随机的东西是有效的?

回答

0

,如果你想验证你需要保持在[]字符串。看到下面的代码串的阵列,它可以帮助

type: { 
    type: [String], 
    allowedValues: [ 'A', 'B', 'C' ], 
    defaultValue: ['A'], 
    index: 1, 
    }, 
nestedStuff: { 
    type: [ new SimpleSchema(nestedStuffSchema.schema(Meteor,SimpleSchema)) ], 
defaultValue: [], 
    }, 

感谢

+0

那么您是否可以提供参考? – RNA

相关问题