【问题标题】:Check if user has a verified email address and redirect them in Meteor检查用户是否有经过验证的电子邮件地址并在 Meteor 中重定向它们
【发布时间】:2018-08-22 02:21:39
【问题描述】:

我需要查明触发click. event 的用户是否拥有经过验证的电子邮件。如果“真”,他应该被重定向到另一个页面,在那里他可以调用服务器端方法。如果“假”,他应该被重定向到一个页面,在那里他可以单击一个按钮向他重新发送一个新的验证链接。

我尝试使用在其他问题中找到的一些功能,但它不起作用。这是我的点击代码。事件和 if 函数不起作用:

"click. event": function(e){
  e.preventDefault();
   if (this.userId && Meteor.user().emails[0].verified)
   {
    Router.go('LinkToCallTheMethod');
     }; else 
     {
    console.log('Please verify email first');
    Router.go('LinkToResentVerificationLink');
     }
   });

问题是什么都没有发生。即使我将 emails[0].verified 字段中的布尔值更改为“真”或“假”(没关系,什么都没有发生),用户也不会被重定向,但我也没有收到任何错误代码。

因此我认为问题出在if(...&& Meteor.user().emails[0].verified)。是否有其他方法可以查明电子邮件是否经过验证?

【问题讨论】:

    标签: mongodb if-statement meteor routing email-verification


    【解决方案1】:

    您不能在客户端上使用 this.userId。它仅适用于服务器端。尝试使用 Meteor.userId()

    【讨论】:

    • 大声笑,你是绝对正确的。我只是在没有'this.userId'的情况下做到了,现在它可以工作了......也许我只是没有得到'this.userId'的实际作用......你能向我解释一下吗?不过,谢谢。
    猜你喜欢
    • 2012-11-26
    • 2021-03-21
    • 2011-08-30
    • 2020-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-03
    • 2019-05-03
    相关资源
    最近更新 更多