Я использовал код Meteor Ionic Demo для создания нового приложения. Теперь вместо регистрации с адресом электронной почты я хочу использовать имена пользователей.
Я использовал этот код (источник):
// server/methods.js
if (Meteor.isServer){
Meteor.methods({
"userExists": function(username){
return !!Meteor.users.findOne({username: username});
},
});
}
// lib/config/at_config.js
AccountsTemplates.addField({
_id: 'username',
type: 'text',
required: true,
func: function(value){
if (Meteor.isClient) {
console.log("Validating username...");
var self = this;
Meteor.call("userExists", value, function(err, userExists){
if (!userExists)
self.setSuccess();
else
self.setError(userExists);
self.setValidating(false);
});
return;
}
// Server
return Meteor.call("userExists", value);
},
errStr: "Bad username"
});
Теперь проблема в том, что если имя пользователя уже существует, как я могу отобразить сообщение об ошибке?
В настоящее время он отображает только значок ионной ошибки, но не errStr
:
Я думаю, проблема в том, что я должен вернуть userExists
в func
, но как я могу ждать вызова сервера метода userExists
?