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

json, jsonschema, validation

Solution

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
}

Problem

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?

Original source

Related problems