【问题标题】:Validating JSON scheme using javascript + tv4使用 javascript + tv4 验证 JSON 模式
【发布时间】:2014-02-25 12:20:07
【问题描述】:

我正在尝试使用 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

我在这里做错了什么?

【问题讨论】:

    标签: javascript json jsonschema


    【解决方案1】:

    免责声明:我以前从未使用过 TV4。

    我猜架构应该将foo 属性指定为objectstring 属性...类似:

    {
        "type": "object",
        "properties": {
            "foo": {
                "properties": {
                    "test": {
                       "type": "string"
                     }
                },
                "type": "object"
            }
        },
        "required": ["foo"]
    }
    

    【讨论】:

    • Tnx,我自己想通了,但你的答案是正确的(接受你的答案)
    【解决方案2】:

    快速查看此forum question 后,我发现我缺少子树的“属性”属性。现在它将work(当值为整数时,它将无法通过验证。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-21
      • 1970-01-01
      • 2019-12-14
      • 1970-01-01
      • 2021-09-06
      • 1970-01-01
      • 1970-01-01
      • 2016-11-21
      相关资源
      最近更新 更多