2016-01-29 4 views
2

Ниже приведена моя json-схема, совместимая с jsonschema 4.0.зависимостей не работает в проверке jsonschema

{ 
"type": "object", 
"properties": { 
    "name": { "type": "string" }, 
    "credit_card": { 
     "type": "number" , 
     "id":"credit_card" 
    }, 
    "billing_address": { 
     "type": "string" , 
     "id":"billing_address" 
    } 
}, 
"required": ["name"], 
"dependencies": [{ 
    "credit_card": ["billing_address"] 
}] 

} 

dependencies не работает там, т.е. когда CREDIT_CARD детали приведены, генерироваться форма должна попросить billing_address, а также. Поля отображаются правильно, хотя, но не показаны ошибки проверки при CREDIT_CARD детали заполняется. enter image description here

Мы включили проверку на interaction Могу ли я делать это неправильно, или есть какая-то версия выпуска. Заметьте, что я еще не указал $ schema.

Любые помощь?

+0

Вы проверили версию схемы? Я думаю, это должно работать на jsonschema 4.x –

+0

да! Я упомянул, хотя в моей схеме я просто не указывал схему, и, следовательно, она должна быть последней, я думаю, –

+0

Vinay, ответ Джейсона правильный в соответствии со спецификацией для зависимостей https://tools.ietf.org/html /draft-wright-json-schema-validation-01#section-6.21 – Anthropic

ответ

1

dependencies не следует обертывать в массив. Измените ваш dependencies на:

"dependencies": { 
    "credit_card": ["billing_address"] 
} 

Это сделает вашу схему действительно, но это не является гарантией того, что форма генератора вы используете поддерживает dependencies ключевое слово. Часто они поддерживают только подмножество спецификации JSON Schema.