创建Meteor帐户时,Jquery验证没有响应

时间:2016-01-05 15:14:09

标签: meteor

基本上,我使用Jquery验证包作为在Meteor上创建和注册帐户时向用户发出错误警告的方法,因为样板界面在我的情况下不起作用。

无论如何,当用户尝试注册帐户时,我在客户端上根本没有回复。用户只是创建时没有消息或重定向,就像它应该有的那样。

以下是特定代码:

Template.createAccount.onRendered(function(){
  var validator = $('.register').validate({
    submitHandler: function(){
      user = {
        email: document.getElementById("email").value,
        password: document.getElementById("password").value
      };

  Accounts.createUser({
    email: user.email,
    password: user.password,
    function(error){
      if(error){
        if(error.reason == "Email already exists."){
         validator.showErrors({
             email: "The email belongs to a registered user."
         });
     }
      } else{
        console.log("Account successfully created.");
        Router.go("starter");
      }
    }
  });
    }
  });
})

我使用相同的代码逻辑进行帐户登录,唯一的例外是不同的流星帐户功能(登录Meteor.loginWithPassword()和帐户创建Accounts.createUser()

根本没有响应,因此可能必须对回调函数执行某些操作,因为已创建用户帐户,但客户端上未显示任何消息。

1 个答案:

答案 0 :(得分:2)

当它应该是一个单独的参数时,您将回调作为选项对象的一部分包括在内。看起来应该更像这样:

Accounts.createUser({
    email: user.email,
    password: user.password
}, function(error){
  if(error){
    if(error.reason == "Email already exists."){
     validator.showErrors({
         email: "The email belongs to a registered user."
     });
 }
  } else{
    console.log("Account successfully created.");
    Router.go("starter");
  }
});