Схема JSON не поддерживает некоторые шаблоны регулярных выражений

Моя схема Json:

{
   "type" : "object" ,
   "properties" : {
      "status" : {
        "type" : "string" ,
        "pattern" : "(OPEN|CLOSE)/i"
      } ,
      "phone" : {
        "type" : "string" ,
        "pattern" : "[0-9a-zA-Z_\-\.\$@\?\,\:.'\/\!\P{InBasicLatin}\s]+"
    }
  }
}

Мои данные:

{
   "status" : "open" ,
   "phone" : "9080245591"
}

Я пытаюсь проверить входные данные с помощью json schema.But json validator выдает следующую ошибку. patternЗначение неверно. Так как его решить. и он String 'open' does not match regex pattern '(OPEN|CLOSE)/i'.тоже забрасывает эту ошибку

json,jsonschema,

1

Ответов: 1


2 принят

Я нашел две проблемы в вашей схеме:

  1. В настоящее время спецификация не позволяет вам указывать такие флаги, как /iдля нечувствительного к регистру соответствия. Вы можете обратиться к этому, добавив флаг в само выражение ().
  2. Вы указываете InBasicLatinнабор символов. Это должно быть IsBasicLatin.

Фиксированная схема:

{
   "type" : "object" ,
   "properties" : {
      "status" : {
        "type" : "string" ,
        "pattern" : "^()(OPEN|CLOSE)$"
      } ,
      "phone" : {
        "type" : "string" ,
        "pattern" : "[0-9a-zA-Z_\-\.\$@\?\,\:.'\/\!\P{IsBasicLatin}\s]+"
    }
  }
}

Примечание. Я не могу понять ваш шаблон phone, поэтому я просто исправил ошибку, но в остальном не трогал ее.

JSON, jsonschema,
Похожие вопросы
Яндекс.Метрика