diff --git a/src/Utils/Validators.php b/src/Utils/Validators.php index 64f883592..a67661faa 100644 --- a/src/Utils/Validators.php +++ b/src/Utils/Validators.php @@ -238,7 +238,8 @@ public static function isList($value): bool */ public static function isInRange($value, array $range): bool { - return (!isset($range[0]) || $range[0] === '' || $value >= $range[0]) + return $value !== NULL + && (!isset($range[0]) || $range[0] === '' || $value >= $range[0]) && (!isset($range[1]) || $range[1] === '' || $value <= $range[1]); } diff --git a/tests/Utils/Validators.isInRange().phpt b/tests/Utils/Validators.isInRange().phpt index db42f6ed4..53980d2fa 100644 --- a/tests/Utils/Validators.isInRange().phpt +++ b/tests/Utils/Validators.isInRange().phpt @@ -29,3 +29,6 @@ Assert::true(Validators::isInRange(-1, ['', 2])); Assert::true(Validators::isInRange(1, [-1, NULL])); Assert::true(Validators::isInRange(1, [-1, ''])); + +Assert::false(Validators::isInRange(NULL, [0, 1])); +Assert::false(Validators::isInRange(NULL, ['0', 'b']));