Схема JSON - укажите поле, которое требуется на основе значения другого поля.

Интересно, возможно ли это с черновиком схемы 03. У меня есть зависимости, работающие где-то еще, я думаю, что, возможно, требуется их творческое использование, чтобы использовать их для определения обязательное свойство некоторого поля.

Моя текущая лучшая попытка (которая не работает) должна дать вам некоторое представление о том, что мне нужно. Я хочу, чтобы значение было обязательным по умолчанию и необязательным, когда другое поле имеет определенное значение.

{
    "description"   : "An address...",
    "type" : "object",
    "properties" : {
        "postcode": {
            "type" : "string",
            // postcode should be required by default
            "required" : true,      
            // postcode shouldn't be required if the country is new zealand 
            "dependencies" : {
                "country" : {
                    "enum" : ["NZ", "NZL", "NEW ZEALAND"]
                },
                "postcode" : {
                    "required" : false      
                }
            }
        },
        "country": {
            "type" : "string",
            "enum" : [
                // various country codes and names...
            ],
            "default" : "AUS"
        }
    }
}
36
задан jruizaranguren 16 September 2014 в 13:51
поделиться