如何使用 joi 验证对象中的对象约束?
How to validate object constraint in a object using joi?
我正在尝试借助 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()
});
对象数据类型是否正确,或者我应该用 object
数据类型替换 string
数据类型吗?
我想将对象类型验证为约束。
您的 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'
}
]
}
我正在尝试借助 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()
});
对象数据类型是否正确,或者我应该用 object
数据类型替换 string
数据类型吗?
我想将对象类型验证为约束。
您的 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'
}
]
}