javascript - 使用 hapijs/joi 验证参数之间的关系

标签 javascript node.js hapi.js joi

我正在尝试验证相互依赖的查询字符串中的可选参数。换句话说,当添加参数A时,还需要参数B。这两个参数都是可选的,因此当它们都没有提供时,验证也应该通过。

应该通过:

?a=1&b=2&c=0
?c=0

应该失败:

?a=1&c=0
?b=2&c=0

有人可以给我一个关于如何解决这个问题的示例架构吗?

最佳答案

看看Joi.object().and()

Joi.object().keys({
  a: Joi.number(),
  b: Joi.number(),
  c: Joi.number()
}).and('a', 'b');

关于javascript - 使用 hapijs/joi 验证参数之间的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35103036/

相关文章:

javascript - 这些 JavaScript 按位运算符有什么作用?

node.js - 音频文件未完全在语音 channel 中播放

node.js - 如何修复 TypeScript 错误属性 'isBoom' 在类型 'Boom<any> | ResponseObject' 上不存在

javascript - 如何让我的 console.logs 输出相同的值?

javascript - 当 child 停止传播时如何监听 child 的事件

javascript - NodeJS、Google 日历 API 集成未经过身份验证并返回未定义,无论凭证和 token 是否存在

javascript - 在 Hapi.js 中提供静态 JavaScript 文件不起作用

node.js - 执行存储过程时出现node-oracledb错误NJS-012

asp.net - 如何使用 JavaScript 访问客户端注册表?

node.js - aws上的nodejs SSL握手错误