Как я могу использовать JSON-схему для проверки ввода строки, разделенной конвейером, из массива флажков - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть некоторые данные, которые являются результатом того, что пользователь установил 2 флажка и отправил форму.Существует 10 различных опций, которые пользователь может выбрать, и две из них, которые он выбирает, объединяются в строку и разделяются с помощью символа |, затем они передаются в файл схемы JSON, который используется для проверкиinput.

Чтобы быть более понятным, если у нас есть следующие флажки:

[] Option A
[x] Option B
[] Option C
[x] Option D
... etc

Как мы видим, опция B и опция D проверяются.Поэтому строка, которая будет выдвинута для проверки, будет иметь вид:

"Option B|Option D"

Вот почему проверка является трудной.Если бы это было одно значение, значение можно было бы легко проверить, используя ключевое слово enum, предоставленное схемой JSON.Например, можно использовать приведенную ниже схему:

"answer": {
          "enum": [
            "Option A",
            "Option B",
            "Option C",
            "Option D"
          ]
        }

Однако, поскольку входящее значение не будет каким-либо из этих значений и фактически будет объединением двух значений с разделителем, этот подход не будет работатьпоскольку значение никогда не пройдет валидацию.

Можно ли каким-либо образом настроить эту схему или использовать другие функции схемы JSON, чтобы строка "Option B|Option D" и любая другая комбинация проходили проверку?

...