Почему, когда что-то не так во входных данных, ошибки не отображаются

#javascript #html #node.js

Вопрос:

Я создал страницу регистрации, используя узел js, и я сделал некоторые проверки в качестве примера, если пароль не совпадает с подтверждением паролей, он возвращается обратно на страницу регистрации и перечисляет ошибки под тегом (h1), который является подписью, но возвращается обратно на страницу регистрации без каких-либо ошибок вот мой код:

 module.exports.signup_post = (req,res)=>{
let {firstName,lastName,username,email,password,password2} = req.body;
console.log(
    firstName,
    lastName ,
    username,
    email,
    password,
    password2
    );

let errors =[];

if (!firstName || !lastName || !username || !email || !password || !password2){
    errors.push({message:'please enter the all fields'});

}
if (password.length<6){
    errors.push({message:'password should be at least 6 characters'})
}
if (password!= password2){
    errors.push({message:'passwords do not match'})
}
if (errors.length > 0){
    res.render('register');
    
}else{
    res.render('login')
  }

}


<ul>
        <% if (typeof errors != 'undefined'){ %>
            <% errors.forEach(error =>{ %>
                <li><% error.message %></li>
                <% }) %>
            <% } %>
    </ul>
 

Ответ №1:

Измените пятую строку снизу на:

 res.render("register", { errors: errors });