我在尝试验证JSON文件时遇到麻烦,更具体地说,我在时遇到麻烦条件。
我有一个一个必须是过去的日期,并且不是必需的。然后是ab如果a为null/空,b可以为空,否则必须为空
我将把我的代码留在下面以使它更清楚,但现在我没有得到任何错误,如果ba不是。a: Joi.date().less("now").raw().optional().allow(null, ""),
b: Joi.string()
.uri({ scheme: [/https?/] })
.when("a", {
is: Joi.any().empty(),
then: Joi.optional().allow(null, ""),
otherwise: Joi.required(),
}),
找到了解决方案,我的是条件错误
不是使用是:join .any().empty(),而是使用是:join .any()。有效(null, "),它成功了。
所以解是:
a: Joi.date().less("now").raw().optional().allow(null, ""),
b: Joi.string()
.uri({ scheme: [/https?/] })
.when("a", {
is: Joi.any().valid(null, ""),
then: Joi.optional().allow(null, ""),
otherwise: Joi.required(),
}),