Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Json Schema validation: do not allow fields other than those declared in schema [duplicate]

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 and age or all. But if they pass me all and additional property like middle_name the message should be rejected.

How would I define a schema like this?

like image 323
Tuan Anh Tran Avatar asked Dec 01 '14 08:12

Tuan Anh Tran


1 Answers

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 } 
like image 56
jruizaranguren Avatar answered Sep 30 '22 07:09

jruizaranguren