当我提交空白值时,它将正确给出缺少的凭据验证错误,但是当我输入无效的电子邮件时,它将给出500错误并重定向到POST URL。
passport.use('local.signup',new LocalStrategy({
usernameField:'email',
passwordField:'password',
passReqToCallback:true
},function(req,email,password,done){
req.checkBody('email','Invalid email.').notEmpty().isEmail();
req.checkBody('password','Invalid password.').notEmpty().isLength({ min: 5 });
var errors=req.validationErrors();
if(errors){
var messages=[];
errors.forEach(function(error){
messages.push(error.msg);
});
return done('null','false',req.flash('error',messages));
}
User.findOne({'email':email},function(err,user){
if(err){
return done(err);
}
if(user){
return done(null,false,{message:'Email is already taken'});
}
var newUser=new User();
newUser.email=email;
newUser.username=req.body.username;
newUser.password=newUser.encryptpassword(password);
newUser.save(function(err,result){
if(err){
return done(err);
}
sendOtp.send("12345678910", "PRIIND", function(error,response) {
if(error){
console.log(error);
}
console.log(response);
});
return done(null,newUser);
});
});
}));