如何获取我在集合或方法中的失败插入中抛出的错误的值。
Customers.allow({
insert: function(userID, rec) {
console.log(userID === rec.userID);
if (rec.userID === null) {
throw new Meteor.Error(600, "You must be logged in");
};
if (rec.phone.length != 10 ) {
throw new Meteor.Error(601, "Incorect phone format", "Phone must be 10 chars long");
};
if (rec.fax.length != 10 ) {
throw new Meteor.Error(602, "Incorect fax format", "Fax must be 10 chars long");
};
return userID === rec.userID;
}
});
所以现在我在控制台上看到了错误,但是如果想要显示模板中的错误或将其存储在被动会话中,那么可以向用户显示错误。
喜欢尝试这样的事情。
Template.form.errors = function () {
// return however you get to those thrown errors
}
答案 0 :(得分:2)
今天刚刚发布了一个包,以帮助解决这个问题:https://github.com/tmeasday/meteor-errors
你需要陨石才能使用它:https://github.com/oortcloud/meteorite
使用陨石添加包裹:
mrt add errors
(除了命令之外,别担心你不会在你的流星上添加错误;)
然后您可以在客户端js中抛出错误:
Meteor.Errors.throw("Error details");
然后,在HTML中显示错误使用的任何地方:
{{>meteorErrors}}