我正在制作JSON架构,并且我使用https://tonicdev.com/npm/ajv来验证针对某些数据的架构。 由于公司的机密性,我无法在此处发布代码,因此我将尝试描述问题:
我有3个输入字段,第一个是选择器(字符串),第二个是运算符下拉列表(等于,不等于,in,ni等),第三个是包含值的输入字段。
我们的想法是拥有这个结构" selector:operator:value"。 为了澄清,假设我们有这个JSON并想象我们有三个变量选择器,运算符和值作为模式(想法是从上面提到的输入字段中获取这些值并创建模式)。
const currentData = {
"properties": {
"id": "one",
"string": 'some string...'
}
}
我需要定义架构
const schema = {
"properties": {
[selector]: {"type": "string"},
[operator]: {"type":"string"},
[value]: {"type": string}
}
}
如果我用say(选择器:id运算符:等值:"一个")完成字段,它应该通过验证,但如果我说(selector:id运算符:等值:1)它不应该通过。
这个架构是错误的。有关如何定义它的任何想法?