Node表达JSON-Schema多字段验证

Ben*_*ala 5 javascript jsonschema node.js json-schema-validator

使用express-jsonschema

如何验证两个字段,例如:

("quantity" == 0 && "actualQuantity" == 0) || ("quantity" > 0 && "actualQuantity" > 0)

ero*_*osb 1

刚刚测试过,这可以完成工作:

{
    "anyOf" : [
        {
            "properties" : {
                "quantity" : {
                    "minimum" : 0,
                    "maximum" : 0
                },
                "actualQuantity" : {
                    "minimum" : 0,
                    "maximum" : 0
                }
            }
        },
        {
            "properties" : {
                "quantity" : {
                    "minimum" : 1
                },
                "actualQuantity" : {
                    "minimum" : 1
                }
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

您也可以使用"oneOf"代替"anyOf",但"anyOf"对于大多数实现来说速度更快。