【发布时间】:2020-12-02 05:00:17
【问题描述】:
我有一个架构,我需要验证如下
const schema = Joi.object({
a: Joi.string(),
b: Joi.string(),
c: Joi.string()
})
如果其中任何一个存在,我想让剩下的两个可选。我该怎么做?
【问题讨论】:
标签: node.js validation joi
我有一个架构,我需要验证如下
const schema = Joi.object({
a: Joi.string(),
b: Joi.string(),
c: Joi.string()
})
如果其中任何一个存在,我想让剩下的两个可选。我该怎么做?
【问题讨论】:
标签: node.js validation joi
查看 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')
;
【讨论】: