【发布时间】:2021-08-27 13:07:33
【问题描述】:
我正在尝试创建一个用户可以更改其详细信息的功能。除非我尝试允许用户更改密码,否则其他项目都有效。
编辑:如果我也更改密码,代码可以工作,否则会导致服务器崩溃并给出 bcrypt 错误。如果我不想更改密码,有什么办法吗?还是我必须将它们分开?
这是我得到的错误:
Error: data and salt arguments required
路线
router.put('/:user_id/edit', validateToken, async (req, res) => {
const userId = req.params.user_id;
const { email,
password,
first_name,
last_name,
role_id } = req.body;
await bcrypt.hash(password, 10).then((hash) => {
Users.update({
email: email,
password: hash,
first_name: first_name,
last_name: last_name,
role_id: role_id
}, { where: {user_id: userId} });
res.json('User updated successfully');
})
})
【问题讨论】:
-
你确定“密码”不是未定义的吗?
-
@griFlo 大声笑,你是对的。我没有输入密码更改。我的问题实际上是如果用户不想更改密码,我该如何使这段代码工作。 (更新了我的帖子)
标签: node.js express sequelize.js put bcrypt