我已经使用 smpl-schema 为 meteor mongo 集合定义了一个模式来验证和清理对象。
import SimpleSchema from 'simpl-schema';
const schema = new SimpleSchema({
name:String,
age:Number,
address:{
type:String,
optional:True
}
}, {
clean: true,
});
数据:
let doc = {
name:' ',
age:10,
}
这里我的函数来验证:
function validateData(doc){
let validationContext = schema.newContext();
validationContext.validate(doc);
if (!validationContext.isValid()) throw JSON.stringify(validationContext.validationErrors())
return true
}
这是错误,它是输出:Error: Cannot convert undefined or null to object [ValidateDataError]
您的架构中有拼写错误,optional
应设置为true
import SimpleSchema from 'simpl-schema';
const schema = new SimpleSchema({
name:String,
age:Number,
address:{
type:String,
optional:true
}
}, {
clean: true,
});