documentation显示如何在应用的主文件中使用celeb。我的路由已经由快速路由器处理,它与索引文件分开,我有我的应用程序的设置。
我想在邮政路线上为请求正文设置验证。文档中的示例显示了如何在主文件中进行设置,这部分让我感到困惑,因为我将路径分隔在不同的文件中,而我使用router.post('/')
代替app.post('/')
由于使用了Express Router。
我应该把
放在哪里const { celebrate, Joi, errors } = require('celebrate');
和
app.use(errors());
到主索引文件或路由文件?
感谢您的帮助。
答案 0 :(得分:2)
您需要将const { celebrate, Joi} = require('celebrate');
放在路线文件的顶部
然后您可以在路线中使用celeb进行验证
router.post('/', celebrate({
body: Joi.object().keys({
name: Joi.string().required(),
age: Joi.number().integer(),
role: Joi.string().default('admin')
})
}), (req, res) => {});
在索引文件中添加到索引文件的顶部
const { errors } = require('celebrate');
然后在最后
app.use(errors())