В моем приложении данные отображаются изначально при загрузке страницы, и на той же странице у меня есть модуль для добавления данных.Я пытаюсь проверить, являются ли некоторые поля пустыми при добавлении данных, и отобразить их на странице.
Что произошло, когда я рендерил страницу с ошибками при добавлении данных, те данные, которые были изначально загружены во время загрузки страницы, теряются, потому что я рендерил страницу с простой ошибкой, а не с целыми данными agai
API, который загружает данные во время загрузки страницы
router.get('/model', function(req, res, next) {
var tvs = [];
var refrigerators = [];
var washingMachines = [];
db.query("SELECT * FROM model", (error, results, fields) => {
if(results) {
for(var i=0; i<results.length; i++){
if(results[i].category === 'refrigerator'){
refrigerators.push({id: results[i].id, model: results[i].name});
}
else if(results[i].category === 'tv') {
tvs.push({id: results[i].id, model: results[i].name});
}
else if(results[i].category === 'wm') {
washingMachines.push({id: results[i].id, model: results[i].name});
}
}
res.render("home/model", {refrigerators: refrigerators, tvs: tvs, washingMachines: washingMachines});
}
if(error) throw error;
});
});
API, который проверяет ошибки (если они есть) во время добавления данных,
router.post('/add-model', function(req, res, next) {
var model = req.body.modelName;
var category = req.body.category;
var errors = [];
//check if any fields are empty
if(!model) {
errors.push({'error_message': 'Model name cannot be empty!'});
}
else if(!category) {
errors.push({'error_message': 'Category cannot be empty!'});
}
if(errors.length > 0){
console.log("flow is coming here!");
res.render('home/model', {errors: errors});
} else {
//check if model already exit
res.end('it is working as expected!');
}
});
Я не думаю, что было бы хорошо писать целую логикуснова внутри API, который добавляет модель (в этом случае).Что может быть лучшим способом визуализации страницы с ошибкой, не затрагивая ранее загруженные данные?