【问题标题】:Using JOI How to define recursive array of objects validation with n depth使用 JOI 如何定义具有 n 深度的对象验证的递归数组
【发布时间】: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


    【解决方案1】:

    使用 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'))
    });
    

    【讨论】:

    猜你喜欢
    • 2016-10-11
    • 2021-09-06
    • 1970-01-01
    • 2017-12-14
    • 2016-08-05
    • 2017-06-04
    • 1970-01-01
    • 2020-06-30
    • 2018-02-14
    相关资源
    最近更新 更多