Я пытаюсь настроить страницу регистрации, которая использует экспресс-валидатор. Однако я получаю следующую ошибку всякий раз, когда я пытаюсь запустить свое приложение. Я предполагаю, что это как-то связано с частью Validator, так как я недавно перешел на более новую версию промежуточного программного обеспечения (6.2). До этого он был довольно устаревшим, но работал нормально.
Error: Route.post() requires a callback function but got a [object Promise]
а вот и ПОСТ
// Register - POST
router.post('/register', [
check('userphonenumber', 'a user phone number is required').not().isEmpty(),
check('fname', 'First name field is required').not().isEmpty(),
check('lname', 'Last name field is required').not().isEmpty(),
check('email', 'Email field is required').not().isEmpty(),
check('email', 'Please use a valid email address').not().isEmpty()(),
check('username', 'Username field is required').not().isEmpty(),
check('password', 'Password field is required').not().isEmpty(),
check('passwordConfirm', 'Passwords do not match').equals(body.password),
check('zipCode', 'Zip Code field is required').not().isEmpty(),
], function(req, res) {
// Get Form Values
var fname = req.body.fname;
var lname = req.body.lname;
var email = req.body.email;
var username = req.body.username;
var phonenumber = req.body.phonenumber;
var password = req.body.password;
var passwordConfirm = req.body.passwordConfirm;
var zipCode = req.body.zipCode;
// Check for errors
const result = validationResult(req);
var errors = result.errors;
console.log(errors);
if (!result.isEmpty()) {
res.render('techregister', {
errors: errors,
fname: fname,
lname: lname,
email: email,
username:username,
password: password,
passwordConfirm: passwordConfirm,
zip : zipCode
});
}
else {
var newTech = {
fname: fname,
lname: lname,
phonenumber: phonenumber,
email: email,
username:username,
password: password,
zipCode: zipCode,
}
bcrypt.genSalt(10, function(err, salt){
bcrypt.hash(newTech.password, salt, function(err, hash){
newTech.password = hash;
techdb.users.insert(newTech, function(err, doc){
if(err){
res.send(err);
} else {
console.log('User Added...');
//Success Message
req.flash('success', 'You are registered please confirm with your email before you log in');
// Redirect after register
res.location('/admins/login');
res.redirect('/admins/login');
}
});
});
});
}
});