0

我正在尝试使用 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),这意味着如果只选择了自行车或只选择了滑板车,则会显示相应的输入字段。

我已经尝试了许多类似的变体,但这个变体似乎与我自己能得到的一样接近,因此非常感谢任何输入和/或建议。

4

0 回答 0