javascript - Joi 验证多个条件

标签 javascript hapi.js joi

我有以下架构:

var testSchema = Joi.object().keys({
    a: Joi.string(), 
    b: Joi.string(), 
    c: Joi.string().when('a', {'is': 'avalue', then: Joi.string().required()})
});

但我想在 c 字段定义上添加一个条件,以便在以下情况下需要它:

a == 'avalue' AND b=='bvalue'

我该怎么做?

最佳答案

您可以连接两个 when 规则:

var schema = {
    a: Joi.string(),
    b: Joi.string(),
    c: Joi.string().when('a', { is: 'avalue', then: Joi.string().required() }).concat(Joi.string().when('b', { is: 'bvalue', then: Joi.string().required() }))
};

关于javascript - Joi 验证多个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26509551/

相关文章:

javascript - onclick 不适用于输入标签

javascript - Hapi JS 发送文件

javascript - ajax 请求中没有 'Access-Control-Allow-Origin',但不是通过单击 <a> 标记链接

javascript - 我应该创建一个 hapijs 插件还是使用 server.ext 来筛选标题中的 api-key

javascript - 如何在joi中访问自定义函数中的另一个字段?

javascript - 如何发现 LocalConnection 连接名称?

javascript - 将 jQuery 插件插入 MEAN.js 代码库的位置

javascript - "Sending request"在 Postman 上加载 Get 请求

javascript - 有没有像 Joi 这样的 JS 智能 json 模式验证器,但是有动态自定义错误?

javascript - Node.js xml2js 解析器未定义