【发布时间】:2021-09-15 03:50:05
【问题描述】:
我正在尝试创建一个验证器,当用户尝试更新数据库架构中不存在的列时,该验证器将显示错误消息。我正在使用 PostgreSQL。当我发送包含正确允许更新的请求时,它会返回错误:“无效更新”我错过了什么?
const updateQuestion = async (req, res) => {
const updates = Object.keys(req.body)
const allowedUpdates = ['title', 'text, questionCateg']
const isValidOperation = updates.every((update) => allowedUpdates.includes(update))
if (!isValidOperation) {
return res.status(400).send({
error: 'Invalid updates'
})
}
try {
const {
id
} = req.params;
const {
title,
text,
questionCateg
} = req.body
const updateQuestion = await pool.query("UPDATE Questions SET title = $1, text = $2, questionCateg = $3 WHERE id =$4",
[title, text, questionCateg, id]);
console.log(updateQuestion)
res.json('Question updated')
} catch (e) {
res.status(400).send()
}
}
路线:
router.patch('/questions/:id', updateQuestion)
提前致谢!
【问题讨论】:
-
变量
updates可能有问题
标签: javascript node.js express validation