我已经推出了一个将数据验证为data5的Joi架构,但是,它也验证了data6,这不是我想要的,因为它应该是错误的。
const Joi = require('joi');
const schema = Joi.object().keys({
a: [Joi.string()],
b: [Joi.string()],
c: Joi.string().required().allow('')
}).with('a', 'c')
.with('b', 'c');
const data = {
a: 'true',
b: 'true',
c: 'some str'
};
const data2 = {
a: 'true',
c: 'some str'
};
const data3 = {
b: 'true',
c: 'some str'
};
const data4 = {
c: 'some str'
};
const data5 = {
c: ''
};
const result = Joi.validate(dataX, schema, { abortEarly: false });
我正在尝试将此错误但由于.allow('')
而验证const data6 = {
a: 'true',
b: 'true',
c: ''
};
如果我删除.allow()然后它可以工作,但是,data5然后错误。
如何更改架构以使其错误数据6但继续验证数据到数据5。
干杯,
保