在任何JSON模式草案版本中,当allOf
中缺少contains
const
时,规范中是否有官方方法显示错误消息?
以这个为例。在我尝试过的大多数验证工具中,它说的是"应该等于常数"之类的东西。或者";"不匹配常量";"对于name
,A
,C
和D
(尽管A
是模式中的另一个const
)。我只是希望错误输出类似于"#/allOf/1/contains/properties/name/constst &;"的东西。在这个例子中,我不关心是否有其他名字,只要其中一个是"A"另一个是"B"
模式
{
"$schema": "http://json-schema.org/draft-07/schema#",
"allOf": [
{
"contains": {
"properties": {
"name": {
"const": "A"
}
}
}
},
{
"contains": {
"properties": {
"name": {
"const": "B"
}
}
}
}
]
}
JSON
[
{
"name": "A"
},
{
"name": "C"
},
{
"name": "D"
}
]
规范没有定义错误消息传递。这主要是由于
- 弄清楚如何处理本地化是困难的,
- 给予实现决定自己措辞的自由对我们来说很重要
有输出格式,但是,以及更新它的努力。