【问题标题】:How to validate object constraint in a object using joi?如何使用 joi 验证对象中的对象约束?
【发布时间】:2021-06-26 15:43:15
【问题描述】:

我正在尝试在 joi 的帮助下进行对象验证。 我想将对象验证为对象内的约束,例如

let login = {
    value: 0/1,
    slots: [{ label: '', value: '24 hr'}, { label: '', value: '24 hr'}]
}

这里login 是一个对象,其中slots 也是一个对象。所以如果我像下面这样写

const schema = Joi.object().keys({
 value : Joi.number.required(),
 slots : Joi.string.required()
});

对象数据类型是否正确,还是应该将string 数据类型替换为object 数据类型? 我想将对象类型验证为约束。

【问题讨论】:

    标签: javascript node.js validation object joi


    【解决方案1】:

    您的 slots 键需要是一个对象数组:

    const schema = Joi.object().keys({
        value: Joi.number().required(),
        slots: Joi.array().items(
            Joi.object().keys({
                label: Joi.string().required().allow(''),
                value: Joi.string().required()
            })
        )
    })
    

    这样,以下对象将是有效的:

    const obj = {
        value: 1,
        slots: [
            {
                label: '',
                value: '24 hr'
            }
        ]
    }
    

    【讨论】:

      猜你喜欢
      • 2020-02-29
      • 2016-10-11
      • 2018-02-27
      • 2012-11-13
      • 1970-01-01
      • 1970-01-01
      • 2021-05-21
      • 2021-10-10
      • 1970-01-01
      相关资源
      最近更新 更多