我希望在用户填写输入时允许插入,并且此输入的字符数为12(例如),否则拒绝。我在服务器中定义了一条规则如下:
if (Meteor.isServer) {
Mydata.allow ({
insert: function(userId, doc) {
if ( $("#id").val().length === 12 ) {
return true ;
} else {
return false ;
}
}
});
}
其中Mydata
是我的collection
的名称,它不是空的但是使用此代码时,数据的插入始终会失败并出现"内部服务器错误"。
设置此特定规则的正确方法是什么?
THKS,
答案 0 :(得分:2)
$
。您需要获取用户输入并在客户端上插入文档,然后检查服务器上的文档。
if (Meteor.isClient) {
Mydata.insert({yourfield: $("#id").val()});
} if (Meteor.isServer) {
Mydata.allow ({
insert: function(userId, doc) {
return doc.yourfield && (doc.yourfield.length === 12);
}
});
}