如何在Node中使用Joi验证参数

问题描述

因此在我的应用中,我试图验证PUT请求的路由。
我设法验证了发帖请求的输入数据,但似乎无法解决这个问题。
我要验证以下代码

app.put('/update/:event_id',async (req: any,res: any) => {
  const { error } = schemaSub.validate(req.body,{ abortEarly: false })
  if (error) {
    console.log(error)
    res.send('Something went wrong,try again!')
  } else {
    const subs = await CompetitionModel.findOneAndUpdate(
      { event_id: req.params.event_id },{ $push: { subscriptions: req.body } },)
    res.send(subs)
  }
})

这是我的joi.ts文件

export const Joi = require('joi')

export const schemaComp = Joi.object().keys({
  event_id: Joi.string().required(),compName: Joi.string().required(),place: Joi.string().required(),time: Joi.string().required(),subscriptions: Joi.array(),date: Joi.date().required(),cost: {
    currency: Joi.string().required(),amount: Joi.number().required(),},})

export const schemaSub = Joi.object().keys({
  id: Joi.string().required(),event_id: Joi.string().required(),name: Joi.string().required(),surname: Joi.string().required(),})

您知道我该怎么做吗?
我尝试在joi的页面上使用tutos,但未成功。
谢谢,

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)