Мой вопрос заключается в отображении сообщений об ошибках в приложении для выставления счетов nodejs, mysql, ejs. Меня беспокоит то, что у меня есть код формы, в котором действие отправки указано как «/addbill», и в этом дополнении уже есть логика для удаления и вставки записей в базу данных, а соответствующий шаблон ejs для рендеринга — printbill.ejs.
Теперь, когда я отправляю форму, введя значение текстового поля количества как 0, поэтому при отправке я должен показать сообщение об ошибке, что «это не должен принимать значение как 0", я написал логику здесь, в server.js ниже.
Если в приведенной ниже логике "viewbill.ejs" отображается с объектом errormessage, проблема в том, что в этом ejs уже есть продукты, перечисленные в базе данных, и данные привязаны как массив продуктов, поэтому, когда я передаю сообщение об ошибке, я получаю сообщение об ошибке, что продуктов нет, и показывает неопределенное значение, даже если я добавляю продукты в виде пустого массива, поскольку на этот раз я не получаю ошибку и успешно вижу ошибку но мои продукты уходят. На самом деле мне нужно сохранить значение продуктов, а также показать эту ошибку поверх него.
Поэтому в этом случае мне нужно снова вызвать запрос продуктов, чтобы получить его из БД, и объединить его с объектом ошибки для достижения этой цели. Потому что мне нужно показать только сообщение об ошибке, но я хочу избежать ненужного вызова БД. Какой-нибудь совет поможет мне в этом?
Я также знаю, что добиться этого с помощью проверки на стороне клиента возможно, но, поскольку я новичок в технологии, я хочу знать, есть ли какой-либо подход, который помог бы отображать ошибки на всех страницах как общие, используя частичные шаблоны ошибок, которые можно включать там, где это необходимо.
app.post('/addbill',checkAuthenticated,(req,res) => {
let mon=parseInt(new Date().getMonth())+1
let currdate=new Date().getDate()+"/"+mon+"/"+new Date().getFullYear()
let currtime=new Date().toLocaleTimeString()
let ob = req.body;
for (var propName in ob) {
if (propName === null || propName === undefined || propName === "" || propName==="[object Object]") {
delete ob[propName];
}
}
let formdata = JSON.stringify(ob)
formdata=formdata.replace(/\\/g,"").replace(/"\[{/g,"").replace(/\]":""}$/,"")
formdata="["+formdata+"]"
let parsedata=JSON.parse(formdata)
let dbdata=[]
let ln = Math.floor(Math.random() * 9000) + 1000;
let billnumber="INV-".concat(currdate.replace(/\//g,"")).concat("-"+ln);
for (var i=0;i {
if(!err)
{
let sql1=`SELECT * FROM billdb WHERE BillNumber='${billnumber}'`
let query1 = mysqlConnection.query(sql1, (err, rows1, fields) => {
if(!err)
{
let printbill=rows1
res.render('printbill.ejs',{printbill:printbill})
}
else
console.log(err)
})
}
else
console.log(err)
})
})
//this is the logic to show error message
if(parseInt(parsedata[0].price)===0) {
console.log('error message'+errormessage)
return res.render('viewbill.ejs',{errormessage:errormessage});
}```
>asfd
Подробнее здесь: https://stackoverflow.com/questions/798 ... ithout-int
Можно ли отображать сообщения об ошибках в комбинации nodejs, mysql и ejs без взаимодействия с базой данных? ⇐ Jquery
Программирование на jquery
1762866383
Anonymous
Мой вопрос заключается в отображении сообщений об ошибках в приложении для выставления счетов nodejs, mysql, ejs. Меня беспокоит то, что у меня есть код формы, в котором действие отправки указано как «/addbill», и в этом дополнении уже есть логика для удаления и вставки записей в базу данных, а соответствующий шаблон ejs для рендеринга — printbill.ejs.
Теперь, когда я отправляю форму, введя значение текстового поля количества как 0, поэтому при отправке я должен показать сообщение об ошибке, что «это не должен принимать значение как 0", я написал логику здесь, в server.js ниже.
Если в приведенной ниже логике "viewbill.ejs" отображается с объектом errormessage, проблема в том, что в этом ejs уже есть продукты, перечисленные в базе данных, и данные привязаны как массив продуктов, поэтому, когда я передаю сообщение об ошибке, я получаю сообщение об ошибке, что продуктов нет, и показывает неопределенное значение, даже если я добавляю продукты в виде пустого массива, поскольку на этот раз я не получаю ошибку и успешно вижу ошибку но мои продукты уходят. На самом деле мне нужно сохранить значение продуктов, а также показать эту ошибку поверх него.
Поэтому в этом случае мне нужно снова вызвать запрос продуктов, чтобы получить его из БД, и объединить его с объектом ошибки для достижения этой цели. Потому что мне нужно показать только сообщение об ошибке, но я хочу избежать ненужного вызова БД. Какой-нибудь совет поможет мне в этом?
Я также знаю, что добиться этого с помощью проверки на стороне клиента возможно, но, поскольку я новичок в технологии, я хочу знать, есть ли какой-либо подход, который помог бы отображать ошибки на всех страницах как общие, используя частичные шаблоны ошибок, которые можно включать там, где это необходимо.
app.post('/addbill',checkAuthenticated,(req,res) => {
let mon=parseInt(new Date().getMonth())+1
let currdate=new Date().getDate()+"/"+mon+"/"+new Date().getFullYear()
let currtime=new Date().toLocaleTimeString()
let ob = req.body;
for (var propName in ob) {
if (propName === null || propName === undefined || propName === "" || propName==="[object Object]") {
delete ob[propName];
}
}
let formdata = JSON.stringify(ob)
formdata=formdata.replace(/\\/g,"").replace(/"\[{/g,"").replace(/\]":""}$/,"")
formdata="["+formdata+"]"
let parsedata=JSON.parse(formdata)
let dbdata=[]
let ln = Math.floor(Math.random() * 9000) + 1000;
let billnumber="INV-".concat(currdate.replace(/\//g,"")).concat("-"+ln);
for (var i=0;i {
if(!err)
{
let sql1=`SELECT * FROM billdb WHERE BillNumber='${billnumber}'`
let query1 = mysqlConnection.query(sql1, (err, rows1, fields) => {
if(!err)
{
let printbill=rows1
res.render('printbill.ejs',{printbill:printbill})
}
else
console.log(err)
})
}
else
console.log(err)
})
})
//this is the logic to show error message
if(parseInt(parsedata[0].price)===0) {
console.log('error message'+errormessage)
return res.render('viewbill.ejs',{errormessage:errormessage});
}```
>asfd
Подробнее здесь: [url]https://stackoverflow.com/questions/79816640/is-it-possible-to-show-error-messages-in-nodejs-mysql-and-ejs-combo-without-int[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия