使用 ajv 如果 minPrice 大于 maxPrice 是否可能会出现验证错误?
我该怎么做,最好遵循 JSON 模式标准。
是的,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;
}
}