2014-12-01 6 views
14

Nehmen wir an, ich habe Schema wieJson Schema-Validierung: nicht zulassen, dass andere Felder als die in Schema deklariert

fname: string 
lname: string 
age: string 

Keiner von ihnen benötigt werden. Der Benutzer kann mir eines dieser Attribute, aber auch eines anderen, das nicht deklariert ist, senden. Sie können mir fname, lname und age oder alle übergeben. Aber wenn sie mir alle und zusätzliche Eigenschaft wie middle_name übergeben, sollte die Nachricht zurückgewiesen werden.

Wie würde ich ein Schema so definieren?

+0

Werfen Sie einen Blick auf json-Schema: http://json-schema.org/ – jruizaranguren

+0

@jruizaranguren ich tat, und sie haben ein Feld namens 'required' eine Eigenschaft, um anzuzeigen, ist nicht erforderlich. Aber ich wollte es nicht. Ich möchte nach zusätzlichen Feldern in der Eingabe suchen -> wenn vorhanden -> ablehnen. –

+0

additionalProperties = false – jruizaranguren

Antwort

26

Sie können eine json-schema und verwenden Sie die Option erstellen:

additionalProperties = false 

diese Weise können Sie die Attribute in den Eigenschaften definiert nur zulassen. In Ihrem Fall:

{ 
    "properties": { 
     "fname": {"type": "string"}, 
     "lname": {"type": "string"}, 
     "age": {"type": "string"} 
    }, 
    "additionalProperties": false 
} 
Verwandte Themen