我正在尝试使用TV4验证JSON方案。
我的验证是使用分层JSON,并基于此基本example:
var data = {
"foo": "bar"
};
var schema = {
"type": "object",
"properties": {
"foo": {
"type": "string"
}
},
"required": ["foo"]
};
var result = tv4.validateResult(data, schema);
在我的测试中,我想再添加一个层次结构级别:
var data = {
"foo": {
"test": "bar"
}
};
var schema = {
"type": "object",
"properties": {
"foo": {
"test": {
"type": "string"
}
}
},
"required": ["foo"]
};
var result = tv4.validateResult(data, schema);
此验证不起作用(如果我输入整数而不是字符串,它会传递validation)
我在这里做错了什么?
答案 0 :(得分:4)
免责声明:我之前从未使用过TV4。
我猜测架构应该将foo
属性指定为object
属性string
...类似于:
{
"type": "object",
"properties": {
"foo": {
"properties": {
"test": {
"type": "string"
}
},
"type": "object"
}
},
"required": ["foo"]
}
答案 1 :(得分:0)
快速浏览一下forum question后,我发现我错过了子树的“属性”属性。现在它将work(当值为整数时,它将无法通过验证。