Node.js 使用Joi和Node时,需要2个字段中的1个,但不允许同时存在这两个字段

Node.js 使用Joi和Node时,需要2个字段中的1个,但不允许同时存在这两个字段,node.js,rest,joi,Node.js,Rest,Joi,我在一个joi对象中有两个字段,让我们称它们为“a”和“b”,其中“a”是一个对象,“b”是一个对象数组。我想要求两个字段中的一个,但不允许两个字段都有,有没有办法用joi实现这一点?您应该使用xor 定义一组键之间的独占关系,其中一个键是必需的,但不是同时需要的 Joi.object().keys({ a: Joi.object(), b: Joi.array() }).xor('a', 'b')

我在一个joi对象中有两个字段,让我们称它们为“a”和“b”,其中“a”是一个对象,“b”是一个对象数组。我想要求两个字段中的一个,但不允许两个字段都有,有没有办法用joi实现这一点?

您应该使用
xor

定义一组键之间的独占关系,其中一个键是必需的,但不是同时需要的

Joi.object().keys({
    a: Joi.object(),
    b: Joi.array()
}).xor('a', 'b')