Joi - 如何检查其他键的值何时为空/空



我在尝试验证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(),
}),

相关内容

  • 没有找到相关文章

最新更新