gpt4 book ai didi

javascript - Joi 数组验证忽略所需的嵌套键

转载 作者:行者123 更新时间:2023-12-02 22:03:50 25 4
gpt4 key购买 nike

Joi 数组所需的验证不起作用。我有一个 userData 数组,其中包含对象、键 dateMilli 和值。我把required放在任何地方但是如果我传递一个空数组userData[]。它没有抛出任何错误。

Joi 版本是"@hapi/joi": "^16.1.8",与 Joi 文档苦苦挣扎,但没有任何效果。

userId 为“123”,userData 为[]

const data = { userId, userData };
const schema = Joi.object({
userId: Joi.string().required(),
userData: Joi.array().items({
dateMilli: Joi.number().required(),
value: Joi.string().valid("YES", "NO").required()
}).required(),
});

let validate = schema.validate(data);
if (!validate || validate.hasOwnProperty("error")) {
return res.send("Invalid parameters");
}

最佳答案

您需要将 .min 与数组一起使用以禁止空数组。

试试这个

const data = {"userId": "123", "userData": []};
const Joi = require("@hapi/joi");
const schema = Joi.object({
"userId": Joi.string().required(),
"userData": Joi.array().items({
"dateMilli": Joi.number().required(),
"value": Joi.string().valid("YES", "NO").required()
}).min(1).required()
});

const validate = schema.validate(data);
console.log(validate);

关于javascript - Joi 数组验证忽略所需的嵌套键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59785267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com