【发布时间】:2018-12-30 20:03:03
【问题描述】:
let obj = Joi.object().keys({
"id": Joi.string().required(),
"array": Joi.array().items(obj).required()//array contains multiple
});
有没有办法在 JOI 中定义递归数组验证 obj.array 包含 n 个 obj
【问题讨论】:
标签: joi
let obj = Joi.object().keys({
"id": Joi.string().required(),
"array": Joi.array().items(obj).required()//array contains multiple
});
有没有办法在 JOI 中定义递归数组验证 obj.array 包含 n 个 obj
【问题讨论】:
标签: joi
使用 Joi 的 lazy(fn) 函数可以实现递归模式。文档中的以下示例可以适应您的架构,但是我不确定您如何定义最大深度。
const Person = Joi.object({
firstName: Joi.string().required(),
lastName: Joi.string().required(),
children: Joi.array().items(Joi.lazy(() => Person).description('Person schema'))
});
【讨论】: