JSON 架构参考子键

问题描述 投票:0回答:2

下面的 JSON 对象将负责呈现选择菜单。

使用 JSON 模式,我是否可以动态地验证

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"
                }
            }
        }
}
javascript json jsonschema json-schema-validator
2个回答
0
投票

据我所知,你所要求的是不可能的。

一种可能性 - 如果您真的非常需要这个 - 是定义一个供应商扩展(但随后您需要在模式验证器中实现它)。


0
投票

default

关键字是注释关键字,不用于任何类型的验证目的。 JSON Schema 不支持验证 schema 中的关键字。

© www.soinside.com 2019 - 2024. All rights reserved.