2013-12-09 54 views
2

我正在使用一个流星应用程序,它使用accounts-password,链接到其他服务将没有任何意义。但是,我希望能够要求更多信息,特别是其真实姓名。从阅读文档,数据应存储在user.profile。我如何在注册时需要信息?我最好的猜测是延伸accounts-passwordaccounts-ui,但它似乎是一个普遍的问题,所以可能有更好的方法。需要流星帐户的额外信息注册

回答

2

目前还没有一种很好的方式来做到这一点,我知道。扩展帐户-UI是一场噩梦。我强烈建议你自己做,这不是很难。流星提供您可以用于此的Accounts.createUser功能,以及Passwords文档中的其他相关的简单使用功能。 createUser函数实际上接受一个options对象,该对象可以专门包含一个profile对象,以获取您要添加的其他信息。用你想要的所有html表单字段自己设置一个模板,为它提交一个提交事件钩子,它调用Accounts.createUser或者一个首先执行一些其他事情的Meteor函数。这种方法也给了你造型的灵活性,这对于Accounts-UI软件包来说是一个痛处。

1

使用Accounts.createUser()和类似:

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

你可能想使自己的形式,这一点 - accounts-ui包是伟大的原型,但是当你需要这样的定制要求它更容易滚你自己。请参阅BenjaminRH的创建自定义登录表单的基础知识。