我想向用户显示以下消息:"我已发送电子邮件以激活您的帐户"。
我不能,因为当用户创建时我没有找到钩子。
你知道某种方法吗?
我目前会永久显示一条消息,但我不想这样做。我只想在用户被烧毁时展示一次。
答案 0 :(得分:1)
这里有2个选项,如果您在客户端创建用户,只需使用
Accounts.createUser({email: email, password: password}, function(err) {
if(!err){
alert(""I have sent a email to activate your account")
}
});
或者如果您是从方法创建用户,它应该是这样的。
//Server.js
Meter.method({
createUser:function(username,email,password){
//create user logic.
}
})
在客户端上看起来应该是这样的。
Meteor.call('createUser',username,email,password,function(err,result){
if(!err){
alert(""I have sent a email to activate your account")
}
});
在这两种情况下,我们使用一个额外的参数,名为callback
这个函数,接受其他2个参数err,result
,所以如果创建帐户时没有错误,警告应该是触发
答案 1 :(得分:-1)
您应该能够在客户端上的createUser()回调中添加警报。假设您有类似于提交用于创建用户的表单,那么您可以...
Template.myTemplate.events({
'submit #new-user-form': function(event) {
// These next few lines will depend on what your template looks like and what data you require on login
// Here I've assumed just username and pw in appropriately-named inputs on your page
var email = $('#email-input').val();
var password = $('#password-input').val();
event.preventDefault();
Accounts.createUser({email: email, password: password}, function(error) {
if (error) { alert("There was an error!"); }
else { alert("I have sent you an email to verify your account"); }
});
}
});
如果要在安装accounts-ui的情况下完成此行为,the documentation不会显示您可以挂钩的任何内容。但是,你可以这样手动完成:
Template.myTemplate.events({
'click .login-form-create-account #login-buttons-password': function() {
alert("I sent you an email to verify your account");
}
});
不幸的是,即使未成功创建用户,仍然会触发。