使用allow('')的Joi验证错误

时间:2017-05-22 15:09:41

标签: joi

我已经推出了一个将数据验证为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。

干杯,

0 个答案:

没有答案