大家好,我有另一个问题,当用户注册时,我收到了以下错误
exports.signUp = function(req, res) {
query = req.body;
var userData = [];
for (var key in query) {
userData.push(query[key]);
}
user.registerValidate(query, function(bool) {
if (bool) {
bcrypt.hash(query.pword, null, null, function(err, hash) {
query.pword = hash;
user.createUser(query, function(bool2) {
if (bool2) {
res.send("User created");
} else {
res.send("Problem Occured");
}
});
});
} else {
res.send("USER IS NOT VALID");
}
});
}
在调试之后,我发现执行两次的registervalidate函数运行两次..并且两次验证细节......在第一次执行时它发送响应...在第二次执行时它没有找到回调作为函数
登录向上
exports.registerValidate = function(data, callback) {
// this.loginValidate(userData[0], function(data) {
// if (data != null) {
// isValid = false;
// } else
// if (!util.validateMobile(userData[2])) {
// isValid = false;
// } else
// if (!util.validateEmail(userData[1])) {
// isValid = false;
// }
// callback(isValid);
// });
var User = require("../Models/UserSchema").model('User');
User.findOne({
uname: data.uname
}, function(err, query) {
var isValid = true;
if (err) throw console.log(err);
if (query != null) {
isValid = false;
callback(isValid);
} else
if (!util.validateMobile(data.mobile_no)) {
isValid = false;
callback(isValid);
return;
} else
if (!util.validateEmail(data.email)) {
isValid = false;
callback(isValid);
return;
} else {
callback(isValid);
return;
}
});
}

它使用它进行验证,它运行了两次..
{{1}}
起初我认为loginValidate导致问题...所以我评论了它.. 请问是什么问题