Javascript 如何在Meteor中验证服务器上的用户创建

Javascript 如何在Meteor中验证服务器上的用户创建,javascript,client-server,meteor,Javascript,Client Server,Meteor,在客户端和服务器上验证用户创建的最佳方法是什么 我尝试验证服务器端和客户端的用户创建。首先,我使用了方法和Accounts.createUser函数,但即使文档中说它应该这样做,它也不起作用 我试过不同的方法。我使用了Accounts.createUser在客户端验证它,并在服务器上使用Account.onCreateUser验证它。问题是我无法验证密码,因为它是加密的 那么,最好的方法是什么呢?有关新用户的验证,请参阅 文档中的示例: // Validate username, sending

在客户端和服务器上验证用户创建的最佳方法是什么

我尝试验证服务器端和客户端的用户创建。首先,我使用了方法和
Accounts.createUser
函数,但即使文档中说它应该这样做,它也不起作用

我试过不同的方法。我使用了
Accounts.createUser
在客户端验证它,并在服务器上使用
Account.onCreateUser
验证它。问题是我无法验证密码,因为它是加密的


那么,最好的方法是什么呢?

有关新用户的验证,请参阅

文档中的示例:

// Validate username, sending a specific error message on failure.
Accounts.validateNewUser(function (user) {
    if (user.username && user.username.length >= 3)
        return true;
    throw new Meteor.Error(403, "Username must have at least 3 characters");
});
// Validate username, without a specific error message.
Accounts.validateNewUser(function (user) {
    return user.username !== "root";
});

你有什么错误吗?在meteor方法调用中包装
Accounts.createUser
应该会返回用户ID,就验证而言,我在客户端/服务器端运行了一个正则表达式。在服务器上,一切似乎都正常,但在客户端,
Accounts.createUser
函数的回调函数中,我得到了空的错误对象。似乎是某种错误,或者可能我不应该在方法中使用Accounts.createUser?我一定遗漏了什么,因为似乎validateNewUser是在onCreateUser之后调用的(在这里我初始化了与新创建的用户相关的内容)。无论如何,我只使用了onCreateUser()。不要忘记将HTTP错误代码作为异常的第一个参数传递,否则消息将不会显示在accounts ui中。