Неверная схема JSON

Я делаю схему JSON и использую https://tonicdev.com/npm/ajv для проверки схемы по некоторым данным. Я не могу разместить код здесь из-за конфиденциальности компании, поэтому я попытаюсь описать проблему:

У меня есть 3 поля ввода, первое - это селектор (строка), второе - раскрывающийся список операторов (равно, не равно, in, ni и т. Д.), А третье - это поле ввода, которое содержит значение.

Идея состоит в том, чтобы иметь эту структуру "селектор: оператор: значение". Для пояснения, скажем, у нас есть этот JSON и представьте, что у нас есть три селектора, оператора и значения в качестве схемы (идея состоит в том, чтобы получить эти значения из полей ввода, упомянутых выше, и создать схему).

const currentData = {
    "properties": {
         "id": "one",
         "string": 'some string...'
    }
}

и мне нужно определить схему

const schema = {
    "properties": {
       [selector]: {"type": "string"},
       [operator]: {"type":"string"},
       [value]: {"type": string}
     }   
}

Если я заполняю поля с помощью say (селектор: оператор id: равное значение: "один"), он должен пройти проверку, но если я говорю (селектор: оператор id: равное значение: 1), он не должен проходить.

Эта схема неверна. Есть идеи, как это определить?

1 ответ

В документации по схеме ajv упоминаются конкретные детали того, как сделать это с помощью шаблонов.

Надеюсь, это поможет!

Другие вопросы по тегам