Description
I was testing a schema and getting an additionalProperties error that didn't make much sense to me as the name of the property was in the schema.
So I put together a smaller schema to reproduce it.
{
"type": "object",
"properties": {
"test": {
"type": "string"
}
},
"additionalProperties": false
}
I tried testing it against this piece of json.
{
"test": 1
}
I tried it against a few of the online validators and depending on which implementation I tried the errors that I would get are different, sometimes I would just get the error about test
not being a string, other times I would also get an error about no additional properties.
Reading http://json-schema.org/understanding-json-schema/reference/object.html#additional-properties
Specifically around properties whose names are not listed in the properties keyword or match any of the regular expressions in the patternProperties keyword
implies that only the property name is important, not if it's valid or not.
I know that some of these implementations use annotations in order to determine if a property is additional or not, and those annotations will get dropped if any properties are invalid as referenced here, which is probably why I'm seeing what I am.
Is there any expectations as to how additionalProperties is meant to work in these instances?