Я работаю над формой контакта и использую экспресс-валидатор для валидации.Я пытаюсь обработать ошибки, и это мой код в файле app.js (соответствующий фрагмент):
// CREATE (POST) ROUTE - add new prospect to the DB
app.post('/contact', [
check('firstName', 'Please enter at least one letter').not().isEmpty().trim().escape(),
check('lastName', 'Please enter at least one letter').not().isEmpty().trim().escape(),
check('emailAddress', 'Please enter a valid email address').isEmail().normalizeEmail(),
check('message', 'Please enter at least one letter').not().isEmpty().trim().escape()
], (req, res) => {
// GET AND SANITIZE DATA
var firstname = req.sanitize(req.body.firstName);
var lastname = req.sanitize(req.body.lastName);
var emailaddress = req.sanitize(req.body.emailAddress);
var message = req.sanitize(req.body.message);
var newProspect = { firstName: firstname, lastName: lastname, emailAddress: emailaddress, phoneNumber: phonenumber, message: message };
// HANDLE FORM VALIDATION ERRORS
const errors = validationResult(req);
if(!errors.isEmpty()) {
console.log(errors.array());
return res.status(422).render('contact-form', {
errorMessage: errors.array()[0].msg
});
}
Чтобы вывести ошибки в браузер, в моем контакте есть следующее:Файл form.ejs чуть выше фактического div формы:
<% if(errorMessage) { %>
<div class="user-message user-message--error"><%= errorMessage %></div>
<% } %>
Когда я загружаю маршрут для контактной формы, я получаю следующую ошибку:
ReferenceError: /home/ubuntu/workspace/views/contact-form.ejs:13
11|<p class="lead">Fill out the form below and we will respond as soon as possible.
12|</p>
>> 13|<% if(errorMessage) { %>
14|<div class="user-message user-message--error"><%= errorMessage %></div>
15|<% } %>
16|<div class="form">
errorMessage is not defined
Я знаю, что ячто-то здесь упущено, но, по признанию моей неопытности, для меня просто не так очевидно, что именно.
Может быть, лучше задать вопрос, в чем подвох при использовании переменной 'errorMessage' из моего приложения.js в моем шаблоне contact-form.ejs эффективно и успешно, чтобы я не получил ошибку 'undefined'?