hapijs - 实现 hapi-joi 条件模式
问题描述
我想要一个查询模式,其中如果id
存在则忽略可能存在的任何其他参数。但是,如果id
不存在,则应用验证条件,其中一些参数是required
。换句话说,像这样
query: {
id: Joi.number()
.description("record id. All other query params are ignored if id is provided.")
.integer()
.positive()
.optional(),
everythingElse: {
foo: Joi.string()
.required(),
bar: Joi.string()
.required(),
baz: Joi.string()
.optional(),
qux: Joi.string()
.optional()
}
}
以上可能吗?阅读Joi
语法,似乎我必须when('id', {is: Joi.number().positive().integer(), then: Joi.optional(), otherwise: Joi.required() })
在每个必需参数的定义中添加一个子句。
解决方案
推荐阅读
- python - 麻木概率
- ruby-on-rails - Rails 6 应用程序未部署到 Heroku
- python-3.x - 有没有办法一次打印出我的while循环的迭代内容?而不是一次一个?
- python - 如何将列表中的单词提取到新列表中?
- react-native - 如何在反应js中删除视图
- wordpress - 如何修复在 AWS 中托管的 wordpress 站点中无法使用的杠杆浏览器缓存?
- ios - 使用很长的 NSAttributedString 是否安全(好或不好)?
- npm - 通过脚本标记的 ES6 模块出现错误“请求的模块不提供名为‘默认’的导出”
- python - 将 10 分钟间隔数据聚合到每小时
- c# - 在 C# 中使用大日期