6

我的客户端文件中有一个表单和一个提交功能:

function submitme () {
    var message = $('#daform').serializeJSON();
    message.owner = Meteor.user().username;
    if(!message.description || !message.location.lat || !message.location.lng || !message.mysex || !message.yoursex) {
      return;          
      }
      else
      {
          lists.insert(message);
          console.log("Submitted!");
          $('#daform')[0].reset();
      }
}

虽然效果很好 - 它是客户端验证 => 不安全。

如何在我的服务器文件中实施“备份”验证检查?(+额外问题:我如何设置一个计时器,以便在提交后需要等待 X 秒才能重新提交?)

4

1 回答 1

2

您可以使用http://docs.meteor.com/#deny(您可以使用允许,但将验证内容放在单独的拒绝中可能更容易),因为如果不应该插入它,拒绝将覆盖允许:

它就像插入之前服务器上的备份方法一样工作。

与您的消息集合

服务器 Js

message.deny({
    insert: function (userId, doc) {
        return (!doc.description || !doc.location.lat || !doc.location.lng || !doc.mysex || !doc.yoursex);
    },
    update: function (userId, docs, fields, modifier) {
        return (!doc.description || !doc.location.lat || !doc.location.lng || !doc.mysex || !doc.yoursex);
    }
);

注意:从拒绝返回 false 表示不拒绝。要拒绝更新,您必须返回 true。

于 2013-03-10T17:30:26.830 回答