json-schema-validator自定义消息

时间:2016-11-04 13:01:29

标签: json jsonschema json-schema-validator

我正在使用json-schema-validator2.2.6库来验证我的json对json架构。问题是它提供了与我无关的通用错误消息。我想向用户发送自定义消息或代码。

我们有这样的选择:

"properties": {
        "myKey": {
            "type": "string"
            **"errorMessage" : "My error message"**
        },
}

或以其他方式提供自定义错误消息?

1 个答案:

答案 0 :(得分:0)

您可以在JSON架构中创建自定义错误消息。排序!(在NodeJS中)。让我们举一个例子 - 我们必须检查密钥' DOB'在JSON中,它应该是必填字段,它应该是'dd-mmm-yyyy'格式。
现在我们必须在JSON中使用两个验证。首先,它应该存在,它应该遵循'dd-mmm-yyyy'

现在JSON Schema将是

{
"id": "DOBChecker",
"type": "object",
"properties": {
    "DOB": {
        "type": "string",
        "required": true,
        "pattern": "/^(([1-9]|0[1-9]|1[0-9]|2[1-9]|3[0-1])[-](JAN|FEB|MAR|APR|MAY|JUN|JULY|AUG|SEP|OCT|NOV|DEC)[-](\d{4}))$/i",
        "message": {
            "required": "Date of Birth is Required Property",
            "pattern": "Correct format of Date Of Birth is dd-mmm-yyyy"
        }
    }
}

现在如果您在验证时遇到错误。您将在错误键数组和该访问模式对象中返回整个模式。模式对象将包含与上面定义的模式完全相同的密钥。
您现在可以访问它。失败的验证名称将在'名称'键。现在,您可以使用
来访问自定义消息 schema.message[name]