使用meteor定义允许/拒绝规则时出现内部服务器错误

时间:2014-08-06 18:49:35

标签: meteor

我希望在用户填写输入时允许插入,并且此输入的字符数为12(例如),否则拒绝。我在服务器中定义了一条规则如下:

if (Meteor.isServer) {
   Mydata.allow ({
    insert: function(userId, doc) {

     if ( $("#id").val().length === 12 ) {
       return true ;
     } else {
      return false ;
     }
    }
   });

  }

其中Mydata是我的collection的名称,它不是空的但是使用此代码时,数据的插入始终会失败并出现"内部服务器错误"。

设置此特定规则的正确方法是什么?

THKS,

1 个答案:

答案 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);
  }
 });

}