【问题标题】:Joi validate 2 schemas conditionally - Invalid schema contentJoi 有条件地验证 2 个架构 - 架构内容无效
【发布时间】:2022-04-11 02:30:54
【问题描述】:

我正在尝试根据请求正文中 isCat 字段的值添加分生孢子模式,这是我目前所拥有的: ror [ERR_ASSERTION]: Invalid schema content` 错误。
我错过了什么?谢谢。

【问题讨论】:

  • 去掉entityput还能用吗?

标签: javascript node.js express joi


【解决方案1】:

试试这个

Joi.object({
  params: Joi.object({
    id: Joi.number().required().integer().min(1),
  }),
  body: Joi.object({
    code: Joi.string().required(),
  }).when(Joi.ref("$isValid"), {
    is: Joi.equal(true),
    then: Joi.object({
      body: Joi.object({
        ...entity,
      }),
    }),
    otherwise: Joi.object({
      body: Joi.object({
        ...put,
      }),
    }),
  }),
});

验证你给出的参考是正确的Joi.ref("$isValid")
如果您提供正确的参考,此架构将按您的预期工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-09
    • 1970-01-01
    • 2018-09-07
    • 1970-01-01
    • 2021-09-27
    • 2019-10-14
    • 2015-09-11
    • 2010-10-22
    相关资源
    最近更新 更多