【发布时间】:2017-03-02 08:35:18
【问题描述】:
我正在使用 Joi 库来验证对象。当另一个可选属性(在同一对象的同一级别)属于某种类型时,我想使某个属性成为必需的,例如细绳。 Joi 文档展示了这个例子:
const schema = {
a: Joi.when('b', { is: true, then: Joi.required() }),
b: Joi.boolean()
};
但是,我不想检查 b(例如)是否为真,而是想检查它是否是字符串。我试过这个:
const schema = {
a: Joi.when('b', { is: Joi.string(), then: Joi.required() }),
};
但它似乎不起作用。如果我从对象中完全删除 b,Joi 似乎仍然期望 a 是必需的。如果 b 不在对象中,我不希望在 a 上放置任何验证。
我找不到其他人这样做的例子 - 谁能帮忙?
【问题讨论】:
标签: javascript node.js validation joi