2015-06-09 2 views
0

У меня есть следующий маршрут router.post('/reportDetails', reportSubmit); где на отправку формы на странице я выполните следующие проверки в обратном вызове reportSubmit.jsNode.js сторона сервера проверка

module.exports = function(req, res, next){ 
    if(req.body && req.body.reportOptions !== 0 && req.body.reportSummary !== "" && req.body.reportWebAddress !== "" && req.body.reportDescription !== ""){ 
     res.redirect('viewreports'); 
    } 
}; 

Что должна быть возвращаемым значением в else условие для вышеуказанного?

+0

Что вы хотите, чтобы это сделать, если это условие не выполняется? ;) если это ошибка, вы можете res.sendStatus (<некоторый код ошибки http>) ... –

+0

Я хочу, чтобы пользователь знал, что была ошибка на стороне сервера и осталась на той же странице – Raj

ответ

1

Ну, реализация «остаться на той же странице» будет зависеть от того, как вы внедрили пользовательский интерфейс (создаваемые сервером шаблоны и просто отправку формы против ajax или SPA).

Но то, что вы, вероятно, хотите сделать, это просто сделать его вернуть 400 плохой запрос через

res.sendStatus(400) 

или

res.status(400) // difference here is you can chain on other response methods such as res.json http://expressjs.com/api.html#res.json 
+0

В настоящее время на сервере представлены шаблоны с формой если я должен был выполнить res.status (400) .json ({ошибка: «Повторите попытку»}); Я должен уметь отображать этот объект ошибки на странице – Raj

+0

поочередно, вы можете выполнить res.status (400) .render («sometemplate», {error: «some error»}), где ваш шаблон читает ошибку и помещает ее в ящик для ошибок –

+0

спасибо! Алекс, я попробую попробовать – Raj

Смежные вопросы