J'essaie d'implémenter cette condition: si une propriété particulière existe, alors une autre propriété est requise; mais s'il n'existe pas, un autre n'est pas requis.
De plus, dans les schémas JSON, pouvons-nous utiliser pas dans les dépendances?
Voici un exemple de schéma
var schema = {
"properties": {
"smaller": {
"type": "number"
},
"larger": { "type": "number" },
"medium":{'type':'string'},
"bulky":{'type':'string'}
},
require:['smaller','larger'],
additionalProperties:false
};
Si "moyen" est présent, alors "volumineux" est requis. Sinon, "encombrant" n'est pas requis.
Ici, "non requis" signifie que si "moyen" n'existe pas, alors l'encombrant ne doit pas être présent.
si vous avez plusieurs propriétés qui dépendent des valeurs respectives, vous pouvez utiliser les dépendances de propriété.
{
"type": "object",
"properties": {
"weight_1": {
"type": "integer"
},
"weight_2": {
"type": "integer"
},
"description_1": {
"type": "string"
},
"description_2": {
"type": "string"
}
},
"allOf": [
{
"if": {
"properties": {
"weight_1": {
"minimum": 10
}
}
},
"then": {
"dependencies": {
"weight_1": ["description_1"]
}
}
},
{
"if": {
"properties": {
"weight_2": {
"minimum": 100
}
}
},
"then": {
"dependencies": {
"weight_2": ["description_2"]
}
}
}
]
}