You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Hapi中验证支持逗号分隔组合的method查询参数

用Joi校验逗号分隔的method查询参数

你需要校验的method参数支持单个合法值或多个合法值的逗号组合,直接用Joi的split()和each()方法就能实现,替换你原来的单个值校验代码即可:

config = {
  validate: {
    query: {
      method: Joi.string()
        .split(',')
        .each(Joi.string().valid('sum', 'sub', 'mul', 'div'))
        // 可选:如果要禁止重复值,加上这行
        .unique()
    }
  }
}

代码说明

  • .split(','):把传入的字符串按逗号拆分成数组,不管是单个值(比如sum)还是多值组合(比如sum,mul)都能适配
  • .each(...):对拆分后的每个元素做枚举值校验,确保每个值都在允许的列表里
  • .unique():可选配置,用来防止传入重复的method值(比如sum,sum),不需要的话可以删掉

校验效果

  • 合法场景:method=sum、method=sum,mul、method=div,sub
  • 非法场景:method=per(单个非法值)、method=sum,per(混有非法值)、method=sum,sum(加了unique时非法)

内容的提问来源于stack exchange,提问作者Madhu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 12:50:22