【问题标题】:Joi validate on enums as keys in a mapJoi 验证枚举作为地图中的键
【发布时间】:2017-01-06 03:51:47
【问题描述】:

我有一个表示为字符串的枚举列表

export const constKeys = [
  'A',
  'B',
  'C',
  ...
];

我想使用 Joi 来验证 Immutable.js 映射是否具有来自 constKeys 的键和数字值。看起来我可以做类似的事情

const myMapValidator = Joi.object().keys({
    A: Joi.number(),
    B: Joi.number(),
    C: Joi.number(),
});

但是如果constKeys 真的很长,这种方法就不能很好地工作。有没有办法让 Joi 知道密钥必须来自 constKeys 并且值是数字?

【问题讨论】:

    标签: javascript joi


    【解决方案1】:

    我想通了。你可以从lodash 使用mapValues

    const myMapValidator = Joi.object().keys(mapValues(constKeys, () => Joi.number()))
    

    【讨论】:

    • 谢谢它的帮助...您能否给我们一些关于您是如何解决此问题的指示?
    猜你喜欢
    • 2022-01-08
    • 1970-01-01
    • 2018-10-13
    • 2020-02-17
    • 1970-01-01
    • 1970-01-01
    • 2012-03-02
    • 2010-09-06
    • 2012-07-01
    相关资源
    最近更新 更多