我正在尝试在架构中使用autoValue
Posts.schema = new SimpleSchema({
title: { type: String },
description: { type: String },
posted: { type: Date,
autoValue: function (){
return new Date;
},
},
likes: { type: Number, defaultValue: 0, optional: true },
dislikes: { type: Number, defaultValue: 0, optional: true, },
author: { type: AuthorSchema },
votes: { type: [AuthorSchema], optional: true }
});
Posts.attachSchema(Posts.schema);
我在这里使用此架构进行验证:
export const addPost = new ValidatedMethod({
name: 'Posts.addPost',
validate: Posts.schema.validator(),
run(post) {
if (!this.userId)
throw new Meteor.Error('403', 'You must be logged-in to reply');
Posts.simpleSchema().clean(post);
Posts.insert({
title: post.title,
description: post.description,
author: {
userId: this.userId,
vote: 0
}
});
}
});
它不起作用。我收到一条错误消息
已发布是必需的[validation-error]
我做错了吗?我需要将发布字段设为可选吗?
我尝试通过为posted:new Date()提供默认值来更改insert方法。也没用。请帮忙。
答案 0 :(得分:0)
通过使用{clean:true,filter:false}
调用验证器来修复它