2016-11-04 2 views
1

Ich verwende Json-Schema-Validator2.2.6-Bibliothek, um meine JSON gegen JSON-Schema zu überprüfen. Das Problem ist, dass es generische Fehlermeldungen gibt, die für mich nicht relevant sind. Ich möchte benutzerdefinierte Nachrichten oder Codes an Benutzer senden.Json-Schema-Validator benutzerdefinierte Nachricht

Haben wir eine Option wie dieses:

"properties": { 
     "myKey": { 
      "type": "string" 
      **"errorMessage" : "My error message"** 
     }, 
} 

oder irgendeine andere Art und Weise, durch die ich benutzerdefinierte Fehlermeldung zur Verfügung stellen kann?

Antwort

0

Sie können benutzerdefinierte Fehlermeldungen in JSON-Schema erstellen. Art von! (In NodeJS). Nehmen wir ein Beispiel - Wir müssen einen Schlüssel 'DOB' in JSON überprüfen, die ein erforderliches Feld sein sollte, und es sollte im Format 'dd-mmm-yyyy' sein.
Jetzt müssen wir zwei Validierung in JSON verwenden. Erstens sollte es vorhanden sein, und es sollte das Muster der `dd-mmm-yyyy‘

Jetzt JSON Schema

{ 
"id": "DOBChecker", 
"type": "object", 
"properties": { 
    "DOB": { 
     "type": "string", 
     "required": true, 
     "pattern": "/^(([1-9]|0[1-9]|1[0-9]|2[1-9]|3[0-1])[-](JAN|FEB|MAR|APR|MAY|JUN|JULY|AUG|SEP|OCT|NOV|DEC)[-](\d{4}))$/i", 
     "message": { 
      "required": "Date of Birth is Required Property", 
      "pattern": "Correct format of Date Of Birth is dd-mmm-yyyy" 
     } 
    } 
} 
folgen

Jetzt wäre, wenn Sie den Fehler während Validierungen bekommen haben. Sie erhalten das gesamte Schema wieder bei Fehlerschlüssel-Array und in diesem Access-Schema-Objekt. Das Schema-Objekt enthält genau dieselben Schlüssel wie das oben definierte Schema.
Sie können jetzt darauf zugreifen. Der fehlgeschlagene Validierungsname befindet sich im Schlüssel 'Name'. Jetzt können Sie auf Ihre benutzerdefinierte Nachricht mit
schema.message[name]

zugreifen
Verwandte Themen