如何在流星视图模板中显示错误

时间:2013-04-10 20:43:49

标签: meteor

如何获取我在集合或方法中的失败插入中抛出的错误的值。

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
}

1 个答案:

答案 0 :(得分:2)

今天刚刚发布了一个包,以帮助解决这个问题:https://github.com/tmeasday/meteor-errors

你需要陨石才能使用它:https://github.com/oortcloud/meteorite

使用陨石添加包裹:

mrt add errors

(除了命令之外,别担心你不会在你的流星上添加错误;)

然后您可以在客户端js中抛出错误:

Meteor.Errors.throw("Error details");

然后,在HTML中显示错误使用的任何地方:

{{>meteorErrors}}