JSON模式不正确

时间:2017-03-30 21:23:46

标签: javascript json jsonschema json-schema-validator

我正在制作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)它不应该通过。

这个架构是错误的。有关如何定义它的任何想法?

1 个答案:

答案 0 :(得分:0)

ajv架构的文档提到了有关如何使用patterns执行此操作的具体详细信息。

希望有所帮助!

相关问题