2
別のプロパティに特定の値がある場合、プロパティが存在することを期待するスキーマを作成する必要があります。値に基づくJSONスキーマの依存関係
{"handleFailure":"redirect","redirectUrl":"http://something.com"}
と
{"handleFailure":"reject"}
両方とも有効にする必要がありますが、
{"handleFailure:"redirect"}
が原因
redirectUrl
プロパティが存在しないために有効であってはなりません。
私はそう
{
"type": "object",
"additionalProperties": false,
"oneOf": [
{
"properties": {
"handleFailure": {
"type": "string",
"enum": [
"redirect"
]
},
"redirectUrl": {
"type": "string",
"format": "uri"
}
}
},
{
"properties": {
"handleFailure": {
"type": "string",
"enum": [
"reject"
]
}
}
}
]
}
のような2つのスキーマでトップレベルoneOf
を作ってみましたが、私は定義されていないプロパティに関するエラーが発生します。 これを行う方法はありますか?
私はあなたのスキーマを解析し、それに対して妥当性を確認するオブジェクトを作成することができます。あなたは、あなたが得ているエラーメッセージについてより具体的になることができますか? – bhspencer
eachOfスキーマのそれぞれにadditionalPropertiesフラグを入れてみましたか? – bhspencer
ありがとう、旗を動かして解決しました。私はそれを1時間過ごしたとは信じられません。 –