我正在尝试使用 JSON 模式在 ReTool 中创建 JSON 格式。
该表单包含一个多选复选框,具有以下值:
["kick-scooter", "bike", "e-bike", "moped", "car"]
根据选择,应该可以看到一个字符串输入字段以输入其他信息。因此,如果选择了自行车和轻便摩托车,这两个字段应该是可见的,其余的字段是不可见的。
我想出了以下 JSON Schema,但它没有产生预期的结果:
{
"type": "object",
"required": [],
"properties": {
"vehicle_type": {
"type": "array",
"title": "Type of vehicle",
"items": {
"type": "string",
"enum": ["kick-scooter", "bike", "e-bike", "moped", "car"]
},
"uniqueItems": true
}
},
"dependencies": {
"vehicle_type": {
"allOf": [
{
"properties": {
"vehicle_type": { "contains": { "enum": ["bike"] } },
"add_info_bike": {"type": "string"}
}
},
{
"properties": {
"vehicle_type": { "contains": { "enum": ["kick-scooter"] } },
"add_info_kickscooter": {"type": "string"}
}
}
]
}
}
}
但是,如果我使用oneOf
而不是allOf
,它会按预期工作(for oneOf
),这意味着如果只选择了自行车或只选择了滑板车,则会显示相应的输入字段。
我已经尝试了许多类似的变体,但这个变体似乎与我自己能得到的一样接近,因此非常感谢任何输入和/或建议。