验证整数属性的数字范围的 JSON 架构



我正在使用TV4来验证我的模式,我看到这个库使用Json模式模型来验证JSON。

但是我没有找到进行特定验证的方法。

我有一个整数属性,这个属性只能有一些数字中的一个。例如,对我来说有效的数字是 10、20、30 和 40,所以如果我输入一些与这些数字不同的数字,我需要显示验证错误。

有办法在JSON模式中进行此特定验证吗?

我不确定您是想要enum还是希望整数值是 10 的倍数。

对于enum,您有一个允许值的数组。例如:

{
  "type": "string",
  "enum": ["red", "amber", "green"]
}

如果希望值仅为数字的倍数,则需要multipleOf .

{
    "type"       : "number",
    "multipleOf" : 10
}

这些链接适用于 JSON 架构的 draft-4 版本,因为这是您使用的库所支持的,但是这些关键字也存在于 JSON 架构的最新版本(撰写本文时的 draft-7(中。您可以考虑使用支持较新版本的不同网络库。

最新更新