我正在使用jsonSchema来验证具有两种类型之一的数组。
使用此架构时
{
"type": "array",
"items": {
"type": "object",
"anyOff": [{
"required": ["image", "link"],
"additionalProperties": false,
"properties": {
"image": {
"type": "string",
"format": "url"
},
"link": {
"type": "string",
"format": "url"
}
}
},
{
"required": ["component", "link"],
"additionalProperties": false,
"properties": {
"component": {
"type": "string",
"pattern": "createYourOwn"
},
"link": {
"type": "string"
}
}
}
]
},
"maxItems": 4
}
并传入
{
"image": "something "
}
我应该获得失败的验证,但通过了, 与
相同 {
"component": "invalid pattern"
}
基本上,我输入的任何内容都会通过