Updated exclusive min/max error message #182

The error messages for exclusive minimum and maximum have been updated
to include 'or equals' for greater clarity.
This commit is contained in:
Kersting 2021-11-18 09:20:58 -06:00
parent 639e09b6f9
commit 6cfd3b0a61

View File

@ -804,16 +804,20 @@ class numeric : public schema
if (violates_multiple_of(value)) if (violates_multiple_of(value))
e.error(ptr, instance, "instance is not a multiple of " + std::to_string(multipleOf_.second)); e.error(ptr, instance, "instance is not a multiple of " + std::to_string(multipleOf_.second));
if (maximum_.first) if (maximum_.first) {
if ((exclusiveMaximum_ && value >= maximum_.second) || if (exclusiveMaximum_ && value >= maximum_.second)
value > maximum_.second) e.error(ptr, instance, "instance exceeds or equals maximum of " + std::to_string(maximum_.second));
else if (value > maximum_.second)
e.error(ptr, instance, "instance exceeds maximum of " + std::to_string(maximum_.second)); e.error(ptr, instance, "instance exceeds maximum of " + std::to_string(maximum_.second));
}
if (minimum_.first) if (minimum_.first) {
if ((exclusiveMinimum_ && value <= minimum_.second) || if (exclusiveMinimum_ && value <= minimum_.second)
value < minimum_.second) e.error(ptr, instance, "instance is below or equals minimum of " + std::to_string(minimum_.second));
else if (value < minimum_.second)
e.error(ptr, instance, "instance is below minimum of " + std::to_string(minimum_.second)); e.error(ptr, instance, "instance is below minimum of " + std::to_string(minimum_.second));
} }
}
public: public:
numeric(const json &sch, root_schema *root, std::set<std::string> &kw) numeric(const json &sch, root_schema *root, std::set<std::string> &kw)