【发布时间】:2020-10-09 20:43:30
【问题描述】:
我目前正在尝试使用 joi 包设置验证,但我遇到了一些很可能与语法有关的问题。
我设置的架构是一个相当简单的架构,用于检查数字是否有效和/或 id 是否存在于数据库中。
export default router.post('/', async function(req, res, next) {
const Joi = require('joi');
// for testing
if (!Object.keys(req.body).length) {
req.body = {'tId':'123456789'}
}
const data = req.body;
const schema = Joi.object().keys({
tId: Joi.string.tId.required()
});
Joi.validate(data, schema, (err, value) => {
if(err){
res.status(404).json({
status: 'error',
message: 'tId not found',
data: data
});
} else {
res.json({
status: 'success',
message: 'Person found',
data: Object.assign(22, value)
});
}
});
})
我目前遇到的错误大约是tId: Joi.string.tId.required()。
UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'required' of undefined
我目前的研究主要围绕以下链接:
https://www.digitalocean.com/community/tutorials/how-to-use-joi-for-node-api-schema-validation
我试图模仿本教程实现的概念,并且我认为我对它的工作原理有一定的了解,但我只是在库的语法上遇到了一些问题。
任何能充分利用 joi 库的链接、视频、项目等都会非常有帮助。
【问题讨论】:
标签: javascript node.js express joi