Схема 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 (selector: id Operator: Equal value: "one"), он должен пройти проверку, но если я скажу (selector: id Operator: Equal value: 1), он не должен пройти.

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


person Mauro Alvarez    schedule 30.03.2017    source источник


Ответы (1)