我的客户端文件中有表单和提交功能:
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秒再重新提交?)
答案 0 :(得分:2)
你可以使用http://docs.meteor.com/#deny(你可以使用allow但是可能更容易将验证内容放在单独的deny中),因为deny会在不应该插入的情况下覆盖allow:
它在插入之前就像服务器上的备份方法一样。
收集邮件
服务器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。