Неверная схема 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 упоминаются конкретные детали того, как сделать это с помощью шаблонов.
Надеюсь, это поможет!