在Meteor帐户注册中需要额外信息

时间:2013-12-09 21:44:25

标签: meteor

我正在使用一个使用accounts-password的Meteor应用程序,并且链接到其他服务是没有意义的。但是,我希望能够提供其他信息,特别是他们的真实姓名。通过阅读文档,数据应存储在user.profile中。如何在注册时需要信息?我最好的猜测是扩展accounts-passwordaccounts-ui,但这似乎是一个常见的问题,所以可能有更好的方法。

2 个答案:

答案 0 :(得分:2)

目前我知道并没有很好的办法。扩展Accounts-UI是一场噩梦。我强烈建议你自己做,这不是很难。 Meteor提供了可用于此的Accounts.createUser函数,以及Passwords文档中的其他相关简单易用函数。 createUser函数实际上接受options对象,该对象可以专门包含一个profile对象,用于添加您想要添加的其他信息。使用你想要的所有html表单字段自己设置一个模板,为它调用Accounts.createUser或者首先执行其他操作的Meteor函数的提交事件挂钩。这种方法也为您提供了样式灵活性,这是使用Accounts-UI包的一个难点。

答案 1 :(得分:1)

使用Accounts.createUser()之类的内容:

Accounts.validateNewUser( function( user ) {
  return !!user.profile.name;
});

您可能希望为此创建自己的表单 - accounts-ui包非常适合原型设计,但是当您需要这样的自定义要求时,您可以更轻松地自行创建。有关创建自定义登录表单的基础知识,请参阅BenjaminRH的答案。