From 6cfd3b0a61173c5aa6b124d5c488d8b85857bb27 Mon Sep 17 00:00:00 2001 From: Kersting <3599868+lkersting@users.noreply.github.com> Date: Thu, 18 Nov 2021 09:20:58 -0600 Subject: [PATCH] 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. --- src/json-validator.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) 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: