JSON架构嵌套依赖项



我想根据选中的复选框有条件地呈现输入字段。

这个复选框是嵌套的,我不知道如何访问它。

我用了这个:

{
"type": "object",
"properties": {
"firstName": {
"type": "boolean"
}
},
"dependencies": {
"firstName": {
"oneOf": [
{
"properties": {
"firstName": {
"enum": [true]
},
"lastName": {
"type": "string"
}
}
}
]
}
}
}

示例

现在,如果依赖项是这样嵌套的呢?:

{
"type": "object",
"properties": {
"test": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
}
},
"dependencies": {
"test": {
"enabled": {
"oneOf": [
{
"properties": {
"enabled": {
"enum": [true]
},
"lastName": {
"type": "string"
}
}
}
]
}
}
}
}

正如你所看到的:我试图访问它,但它没有被正确识别。我该如何处理这个问题?这可能吗?

JSON Scheme Validator表示其有效

您缺少一个"属性";在";依赖关系"->quot;测试";。该点下的所有内容都不会被识别为模式。

"dependencies": {
"test": {
"properties": {
"enabled": {
...

"依赖关系";记录如下:https://json-schema.org/understanding-json-schema/reference/conditionals.html#id5.

看起来必须将dependencies与属性放在同一个架构对象中。。。像这个

{
"type": "object",
"properties": {
"test": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
},
"dependencies": {
"enabled": {
"oneOf": [
{
"properties": {
"enabled": {
"const": true
},
"lastName": {
"type": "string"
}
}
}
]
}
}
}
}
}

这是可行的,但我不知道得到的数据是否是您所期望的。

我是JSONSchema的专家,但我从未使用过表单生成工具。

最新更新