node.js - 节点 js 中的电子邮件验证显示 500 错误
问题描述
当我提交空白值时,它会正确给出缺少凭据验证错误,但是当我输入无效电子邮件时,它会给出 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);
});
});
}));
解决方案
推荐阅读
- javascript - 使用 Javascript 的 setAttribute() 背后的原因是什么?
- jakarta-ee - 如何编辑/修改 Hybris 后台表格?
- javascript - Service Worker 'fetch' 事件当前提供的页面的 URL
- java - libgdx:切换屏幕时图像不会消失
- python - 使用 CSV 和脚本自动化更新 SQLite3 数据库
- spring-boot - 如何让 Spring/Gradle 识别 JdbcTemplate 初始化
- bash - Bash 脚本如何打开可执行文件并在可执行文件中打开多个文件?
- java - :{PREFIX}* 没有按预期工作
- design-patterns - 以下模式是否有特定名称?
- php - 如何在php中添加Html代码