diff --git a/src/json-validator.cpp b/src/json-validator.cpp index f2f0778..0beb613 100644 --- a/src/json-validator.cpp +++ b/src/json-validator.cpp @@ -804,15 +804,19 @@ class numeric : public schema if (violates_multiple_of(value)) e.error(ptr, instance, "instance is not a multiple of " + std::to_string(multipleOf_.second)); - if (maximum_.first) - if ((exclusiveMaximum_ && value >= maximum_.second) || - value > maximum_.second) + if (maximum_.first) { + if (exclusiveMaximum_ && 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)); + } - if (minimum_.first) - if ((exclusiveMinimum_ && value <= minimum_.second) || - value < minimum_.second) + if (minimum_.first) { + if (exclusiveMinimum_ && 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)); + } } public: