下面的JSON对象将负责呈现一个 Select 菜单.

使用JSON模式,我是否可以dynamically验证default键的值(在本例中为"sm")是否与options对象中的至少一个属性匹配?

我已经看过文档,我希望结合使用patternrefsjson pointers是可能的,但找不到这种用例的示例.

{
"top": {
            "label": "Small",
            "default": "sm",
            "options": {
                "none": {
                    "label": "None"
                },
                "sm": {
                    "label": "Small"
                },
                "md": {
                    "label": "Medium"
                },
                "lg": {
                    "label": "Large"
                },
                "xl": {
                    "label": "XL"
                }
            }
        }
}

推荐答案

在我看来,你的要求是不可能的.

  • pattern验证需要正则表达式模式
  • 遗憾的是,enum验证需要一组值

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

Javascript相关问答推荐

Snowflake - .toISOString()错误地舍入JS存储过程中的时间戳

如何从defineExpose访问数据和方法

序列查找器功能应用默认值而不是读取响应

禁用从vue.js 2中的循环创建的表的最后td的按钮

提交表格后保留Web表格中的收件箱值?

使用JavaScript重新排序行

在这种情况下,如何 for each 元素添加id?

当试图显示小部件时,使用者会出现JavaScript错误.

将旋转的矩形zoom 到覆盖它所需的最小尺寸&S容器

如何根据当前打开的BottomTab Screeb动态加载React组件?

如何从网站www.example.com获取表与Cheerio谷歌应用程序脚本

我创建了一个创建对象的函数,我希望从该函数创建的对象具有唯一的键.我怎么能做到这一点?

从包含数百行的表中获取更改后的值(以表单形式发送到后端)的正确方法是什么?

如何将未排序的元素追加到数组的末尾?

Reaction Redux&Quot;在派单错误中检测到状态Mutations

将数组扩展到对象中

Nextjs 13.4 Next-Auth 4.2登录(&Quot;凭据&,{});不工作

未捕获语法错误:Hello World中的令牌无效或意外

通过跳过某些元素的对象进行映射

在JavaScript中,有没有一种方法可以迭代字符串的词法标记?