如何为Joi xor()指定自定义错误消息?

如何为Joi xor()指定自定义错误消息?,joi,Joi,我有一个模式,其中两个可选表单中的一个可以在运行时添加,其中一个必须添加才能通过验证。我已经使用了一个xor(),但是我想设置一个自定义错误消息,比如“您必须添加一个formA或formB才能继续”,而不是默认的“值”必须至少包含一个[formA,formB] 我已尝试调用.xor().message(),但出现了错误 错误:无法将规则应用于空规则集,或者添加的最后一条规则不支持规则属性 如何为Joixor()?这适用于Joi版本17.2.1 const Joi=require('Joi');

我有一个模式,其中两个可选表单中的一个可以在运行时添加,其中一个必须添加才能通过验证。我已经使用了一个
xor()
,但是我想设置一个自定义错误消息,比如“您必须添加一个formA或formB才能继续”,而不是默认的
“值”必须至少包含一个[formA,formB]

我已尝试调用
.xor().message()
,但出现了错误

错误:无法将规则应用于空规则集,或者添加的最后一条规则不支持规则属性


如何为Joi
xor()

这适用于
Joi
版本17.2.1

const Joi=require('Joi');
const schema=Joi.object().keys({
格式:Joi.string(),
formB:Joi.string(),
})
.xor('formA','formB')
.留言({
'object.xor':'必须添加formA或formB才能继续'
})
.required()
常数数据={
形式:“形式”,
formB:“formB”
};
const report=schema.validate(数据)
console.log(report.error.message)
输出

You must add a formA or formB to continue