2016-11-04 6 views
1

Я использую библиотеку json-schema-validator2.2.6 для проверки моей json-схемы json. Проблема в том, что он дает общие сообщения об ошибках, которые не имеют отношения ко мне. Я хочу отправить пользовательское сообщение или код пользователю.Специальное сообщение json-schema-validator

У нас есть любой вариант, как это:

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

или любой другой способ, с помощью которого я могу предоставить пользовательское сообщение об ошибке?

ответ

0

Вы можете создать пользовательские сообщения об ошибках в схеме JSON. Сортировка! (В NodeJS). Давайте возьмем пример - Мы должны проверить ключ «DOB» в JSON, который должен быть обязательным, и он должен быть в формате 'dd-mmm-yyyy'.
Теперь мы должны использовать две проверки в JSON. Во-первых, он должен присутствовать, и он должен следовать образцу `DD-MMM-YYYY»

Теперь 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" 
     } 
    } 
} 

Теперь Если у вас есть ошибка при валидаций. Вы вернете всю схему обратно в массив ключей ошибок и в этот объект схемы доступа. Объект схемы будет содержать точно такие же ключи, как схема, определенная выше.
Теперь вы можете получить к нему доступ. Неисправное имя проверки будет находиться в ключе «имя». Теперь вы можете получить доступ к своему пользовательскому сообщению, используя
schema.message[name]