Я пытаюсь проверить форму ввода с Джои, а затем выполнить вставку.Я подумал, что сначала нужно получить данные, а затем проверить, прежде чем вставлять в БД.
Перед вставкой я решил console.log результата, но получил эту ошибку.
Также кто-то может предложитьпакет для безопасности.Я слышал о шлеме, но я не знаю, как применить к моему коду.Может кто-нибудь показать мне
[Объект: нулевой прототип] {имя книги: 'dswdgefg', сводка: 'dstsdtgdrtfy \ r \ n', isbn: '234325435', выберите: 'Фрукты'} [Объект: нулевой прототип] {bookname: 'dswdgefg',
сводка: 'dstsdtgdrtfy \ r \ n', isbn: '234325435',
select: 'Fruits'} POST / addbooks 200 23,899 мс - ошибка 16 [ERR_HTTP_HEADERS_SENT]: Невозможно установить заголовки после того, как они отправлены клиенту в ServerResponse.setHeader (_http_outgoing.js: 482: 11) в ServerResponse.header (C: \ Users \ dokunbam \ Documents \ Node \ crudlist \ node_modules \ express \ lib \response.js: 767: 10) в ServerResponse.send (C: \ Users \ dokunbam \ Documents \ Node \ crudlist \ node_modules \ express \ lib \ response.js: 170: 12) в состоянии готовности (C: \ Users \ dokunbam \Documents \ Node \ crudlist \ node_modules \ express \ lib \ response.js: 1004: 10) в tryHandleCache (C: \ Users \ dokunbam \ Documents \ Node \ crudlist \ node_modules \ ejs \ lib \ ejs.js: 257: 5)в View.exports.renderFile [как движок] (C: \ Users \ dokunbam \ Documents \ Node \ crudlist \ node_modules \ ejs \ lib \ ejs.js: 480: 10)в View.render (C: \ Users \ dokunbam \ Documents \ Node \ crudlist \ node_modules \ express \ lib \ view.js: 135: 8) в tryRender (C: \ Users \ dokunbam \ Documents \ Node \ crudlist \ node_modules \express \ lib \ application.js: 640: 10) в Function.render (C: \ Users \ dokunbam \ Documents \ Node \ crudlist \ node_modules \ express \ lib \ application.js: 592: 3) в ServerResponse.render (C: \ Users \ dokunbam \ Documents \ Node \ crudlist \ node_modules \ express \ lib \ response.js: 1008: 7) в C: \ Users \ dokunbam \ Documents \ Node \ crudlist \ app.js: 41: 7 на уровне.handle_error (C: \ Users \ dokunbam \ Documents \ Node \ crudlist \ node_modules \ express \ lib \ router \ layer.js: 71: 5) в trim_prefix (C: \ Users \ dokunbam \ Documents \ Node \ crudlist \ node_modules \ express\ lib \ router \ index.js: 315: 13) в C: \ Users \ dokunbam \ Documents \ Node \ crudlist \ node_modules \ express \ lib \ router \ index.js: 284: 7 в Function.process_params (C: \Пользователи \ dokunbam \ Documents \ Node \ crudlist \ node_modules \ express \ lib \ router \ index.js: 335: 12) на следующем (C: \ Users \ dokunbam \ Documents \ Node \ crudlist \ node_modules \ express \ lib \ router \индекс.js: 275: 10)
Это мой код
exports.addbooks = function (req, res)
{
const bookname = req.body.bookname;
const summaries = req.body.summaries;
const isbn = req.body.isbn;
const category = req.body.select;
const schema = Joi.object().keys({
bookname: Joi.string().trim().min(6).max(25).required(),
summaries: Joi.string().trim().required(),
isbn: Joi.number().required(),
category: Joi.string().trim().required()
});
Joi.validate(req.body, schema, (err, result) => {
if(err){
console.log(result)
res.send('an error occured');
}
console.log(result)
//Perform knex insert into db
res.send("successfully added");
})
}
Спасибо