【发布时间】:2026-02-08 07:25:01
【问题描述】:
我有一个如下所示的类型列表
const types = ['BAKERY', 'FRUITS', 'RESTAURANT', ...];
这个数组的长度未知。我对上述每种类型都有一个相应的类别列表,如下所述
const categories = {
RESTAURANT: ['ADDON', 'AMERICAN', 'ANDHRA', ....],
FRUITS: ['APPLE', 'BANANA', ....],
RESTAURANT: ['VEG', 'NONVEG', ....],
};
我想根据所选类型验证类别的架构。
const itemJoiSchema = Joi.object({
type: Joi.string()
.valid(...enums.types)
.required(),
category: Joi.string()
.valid(............) // Here i want to accept only the values which fall into selected type above
.uppercase()
.required()
});
如果我选择type: 'FRUITS',,那么该类别应该只接受['APPLE', 'BANANA', ....], 中的一个,其他类别也是如此。
我尝试使用 refs 但没有奏效。有人可以帮我解决这个问题吗?
【问题讨论】:
标签: javascript node.js express joi hapi.js