Json Schema validation: do not allow fields other than those declared in schema
24,017
You can create a json-schema and use the option:
additionalProperties = false
That way you only allow the attributes defined in properties. In your case:
{
"properties": {
"fname": {"type": "string"},
"lname": {"type": "string"},
"age": {"type": "string"}
},
"additionalProperties": false
}
Author by
Tuan Anh Tran
BY DAY: Node.js guru BY NIGHT: I write code for fun. Blog sometimes at https://tuananh.net
Updated on July 09, 2022Comments
-
Tuan Anh Tran almost 2 years
Suppose that I have schema like
fname: string lname: string age: string
None of them are required. User can send me any of those attributes above but nothing else that is not declared. They can pass me
fname
,lname
andage
or all. But if they pass me all and additional property likemiddle_name
the message should be rejected.How would I define a schema like this?