0

我已经声明了一个 JOI 模式/bean 并且在声明另一个模式/bean 时不能使用该定义?

我在“arg: joi.object.schema(TestBean).required()”上收到语法错误,但可以使用如下模式声明数组:“argArray: joi.array().items(TestBean).required()”

const TestBean = joi.object().required().keys({
  member1: joi.array().items(joi.string().required()),
  member2: joi.number().required()
}).unknown(); // allow additional attributes

const BeanMethodDocument = joi.object().required().keys({
  arg: joi.object.schema(TestBean).required(),
  argArray: joi.array().items(TestBean).required(),
  option: joi.string().valid('Empty','Full','HalfFull','HalfEmpty')
});

我期待我可以使用预定义的模式声明。我只需要正确的语法。

4

1 回答 1

0

您缺少对joi.object.

const BeanMethodDocument = joi.object().required().keys({
    arg: joi.object().schema(TestBean).required(),
    // ------------^
    argArray: joi.array().items(TestBean).required(),
    option: joi.string().valid('Empty','Full','HalfFull','HalfEmpty')
});
于 2019-08-05T06:53:34.420 回答