【问题标题】:Joi validation schemaJoi 验证模式
【发布时间】:2020-12-02 05:00:17
【问题描述】:

我有一个架构,我需要验证如下

const schema = Joi.object({
   a: Joi.string(),
   b: Joi.string(),
   c: Joi.string()
})

如果其中任何一个存在,我想让剩下的两个可选。我该怎么做?

【问题讨论】:

    标签: node.js validation joi


    【解决方案1】:

    查看 https://joi.dev/api/?v=17.3.0 的 Joi 文档

    然后尝试这样的事情:

    const schema = Joi
      .alternatives([
        Joi.object({
          a: Joi.string().required(),
          b: Joi.string(),
          c: Joi.string(),
        }),
        Joi.object({
          a: Joi.string(),
          b: Joi.string().required(),
          c: Joi.string(),
        }),
        Joi.object({
          a: Joi.string(),
          b: Joi.string(),
          c: Joi.string().required(),
        }),
      ])
      .match('one')
      ;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-08
      • 2021-04-16
      • 2021-10-25
      • 1970-01-01
      • 2019-08-03
      • 2020-06-01
      • 1970-01-01
      • 2021-04-20
      相关资源
      最近更新 更多