我有一个下面的JSON模式,我正在尝试使用JSON模式验证器进行验证
JSON架构:
{
"$schema": "http://json-schema.org/draft-07schema#",
"description": "Create Orders Schema",
"type": "object",
"properties": {
"street_address": {
"type": "string"
},
"country": {
"default": "United States of America",
"enum": ["United States of America", "Canada"]
}
},
"if": {
"properties": { "country": { "const": "United States of America" } }
},
"then": {
"properties": { "postal_code": { "pattern": "[0-9]{5}(-[0-9]{4})?" } }
},
"else": {
"properties": { "postal_code": { "pattern": "[A-Z][0-9][A-Z] [0-9][A-Z][0-9]" } }
}
}
当我传递国家的错误postal_code模式时;加拿大";,它没有验证,而是通过了。
无效负载:
{
"street_address": "24 Sussex Drive",
"country": "Canada",
"postal_code": "10000"
}
是我遗漏了什么,还是JSON验证器不支持条件if-then-else?
提前感谢
问题可能是架构使用了Draft7 JSON架构规范。连接器的文档表明,验证模式操作仅支持草案3:或4:
此连接器仅支持JSON架构验证草稿3和4。