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