Updated exclusive min/max error message #182 (#183)

The error messages for exclusive minimum and maximum have been updated
to include 'or equals' for greater clarity.

Fix #182
This commit is contained in:
Luke 2021-11-18 11:32:40 -06:00 committed by GitHub
parent 639e09b6f9
commit d8467b7c08
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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: