问题描述
*
const schema = Joi.array().min(3).has({
Name: Joi.string().required(),Type: Joi.string().required(),Price: Joi.number().required(),});
我的 JSON 就像:
{
"foods": [
{
"Name": "Item1","Type": "Category1","Price": 14
},{
"Name": "Item2","Type": "Category2","Price": 8
},{
"Name": "Item3","Price": 10
}
]
}
但是当我验证这一点时,我收到以下错误: joi 验证错误“值”必须是一个数组。
请让我知道需要在 JSON 对象中更改哪些内容才能由架构验证。
解决方法
您的架构需要一个最小长度为 3 的数组作为根,但您传递的是一个具有单个属性 foods
的对象,该对象是一个数组。所以你必须摆脱周围的物体。
这将是验证器的有效输入
[
{
"Name": "Item1","Type": "Category1","Price": 14
},{
"Name": "Item2","Type": "Category2","Price": 8
},{
"Name": "Item3","Price": 10
}
]