如何使用 Ajv JSON 模式验证器验证字段值是否大于另一个字段值?

问题描述 投票:0回答:1

使用 ajv 如果 minPrice 大于 maxPrice 是否可能会出现验证错误?

我该怎么做,最好遵循 JSON 模式标准。

javascript node.js jsonschema ajv
1个回答
0
投票

是的,ajv支持通过JSON Schema定义自定义验证规则和条件。

{
  "type": "object",
  "properties": {
    "minPrice": {
      "type": "number"
    },
    "maxPrice": {
      "type": "number"
    }
  },
  "required": ["minPrice", "maxPrice"],
  "dependencies": {
    "minPrice": ["maxPrice"],
    "maxPrice": ["minPrice"]
  },
  "validate": function(response, errors) {
    if (response.minPrice > response.maxPrice) {
      errors.push({ keyword: "maxPrice", message: "min Price cannot be greater than max Price" });
    }
    return false;
  }
}

© www.soinside.com 2019 - 2024. All rights reserved.