【问题标题】:Celebrate Joi validation with Express using Router使用路由器通过 Express 庆祝 Joi 验证
【发布时间】:2018-05-22 01:17:15
【问题描述】:

documentation 展示了如何在应用程序的主文件中使用庆祝。我的路由已经由 express Router 处理,它与我设置应用程序的索引文件分开。

我想为 post 路由上的请求正文设置验证。文档中的示例显示了如何在主文件中进行设置,这部分让我感到困惑,因为我将路由分隔在不同的文件中,并且由于使用 Express,我使用 router.post('/') 而不是 app.post('/')路由器。

我应该放在哪里

const { celebrate, Joi, errors } = require('celebrate');

app.use(errors());

到主索引文件还是到我的路由文件?

感谢您的帮助。

【问题讨论】:

    标签: node.js express joi


    【解决方案1】:

    您需要将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())
    

    【讨论】:

      猜你喜欢
      • 2021-01-20
      • 2018-06-25
      • 2019-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多