この条件を実装しようとしています。特定のプロパティが存在する場合、別のプロパティが必要です。しかし、それが存在しない場合、別のものは必要ありません。
また、JSONスキーマでは、依存関係では使用できませんか?
ここにサンプルスキーマがあります
var schema = {
"properties": {
"smaller": {
"type": "number"
},
"larger": { "type": "number" },
"medium":{'type':'string'},
"bulky":{'type':'string'}
},
require:['smaller','larger'],
additionalProperties:false
};
「中」が存在する場合、「かさ高」が必要です。それ以外の場合は、「かさばる」必要はありません。
ここで「必須ではない」とは、「中」が存在しない場合、かさばることが存在してはならないことを意味します。
それぞれの値に依存する複数のプロパティがある場合は、プロパティの依存関係を使用できます。
{
"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"]
}
}
}
]
}