【发布时间】:2021-12-10 08:01:25
【问题描述】:
我正在使用 nodejs/express/mongoose
我的模特:
const TodoSchema = new mongoose.Schema({
name: { type: String, required: ['Name is required'] },
},
});
控制器:
async function createTask(req, res) {
try {
const task = new Todo({ name: req.body });
console.log(req);
console.log('Name check: ', req.name);
const result = await task.save();
console.log('check: ', task, result);
// res.send('Task created: ', result);
res.json({ msg: 'Task created', item: result });
} catch (error) {
console.log('Task creation error:', error);
return res.json({
msg: error,
});
}
}
我在邮递员中的回复:
"msg": {
"errors": {
"name": {
"name": "ValidatorError",
"message": "Name is required",
"properties": {
"message": "Name is required",
"type": "required",
"path": "name"
},
"kind": "required",
"path": "name"
}
},
"_message": "Todo validation failed",
"name": "ValidationError",
"message": "Todo validation failed: name: Name is required"
}
}
对于我的日志,req.name 未定义,req.body.
我看到了 mongoose 验证的文档和 type 关键字,并尝试了这些建议,但没有任何帮助。我的 post 端点怎么了?
【问题讨论】:
-
你能把所有代码都加进去吗?
-
很难说,但您是否在请求标头中设置了内容类型?
-
任何答案都解决了您的问题吗?
标签: node.js express validation mongoose post