繁体   English   中英

如何使用 joi 在 object 中验证 object 约束?

[英]How to validate object constraint in a object using joi?

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

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

这里login是一个 object 并且它里面的slots也是一个 object。 所以如果我像下面这样写

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

object 数据类型是否正确,或者我应该用object数据类型替换string数据类型? 我想验证 object 类型作为约束。

您的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()
        })
    )
})

这样,以下 object 将有效:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM