下面的JSON对象将负责呈现选择菜单。
使用JSON Schema,我是否可以 * 动态地 * 验证default
键的值(在本例中为“sm”)与options
对象中的至少一个属性匹配?
我已经看过文档,我希望这是可能的,使用pattern
refs
和json pointers
的组合,但找不到这个用例的例子。
{
"top": {
"label": "Small",
"default": "sm",
"options": {
"none": {
"label": "None"
},
"sm": {
"label": "Small"
},
"md": {
"label": "Medium"
},
"lg": {
"label": "Large"
},
"xl": {
"label": "XL"
}
}
}
}
字符串
2条答案
按热度按时间rqenqsqc1#
在我看来,你的要求是不可能的。
pattern
验证需要regex模式enum
验证需要一个值数组一种可能性--如果您真的真的需要这样做--是定义一个供应商扩展(但是您需要在模式验证器中实现它)。
lztngnrs2#
default
关键字是一个注解关键字,不用于任何类型的验证目的。JSON架构不支持架构内关键字的验证。