首页 > 解决方案 > 如何在 javascript 中使用 hapijs joi 框架验证列表?

问题描述

我想像javascript中的数组一样验证数据类型。

原始数据如:

"dams":[
{"id": 1, "name": "Burrinjuck Dam", "self": "",…},
{"id": 2, "name": "Blowering Dam", "self": "",…}
]

元素的数量不确定,但每个元素都是同一类型的大坝对象。Joi 是否提供任何方法来验证相同类型元素的列表?

标签: javascriptarraysvalidationjoi

解决方案


您可以将Joi.array().items()Joi.object()结合起来,并执行以下操作:

const schema = Joi.object({
   damns: Joi.array().items(
       Joi.object().keys({
             id: Joi.string(),
             name: Joi.string(),
             self: Joi.string()
       })
   )
});

推荐阅读