@@ -25,7 +25,8 @@ class NumberConstraint extends Constraint
2525 public function check (&$ element , $ schema = null , JsonPointer $ path = null , $ i = null )
2626 {
2727 // Verify minimum
28- if (isset ($ schema ->exclusiveMinimum )) {
28+ if (isset ($ schema ->exclusiveMinimum ) && filter_var ($ schema ->exclusiveMinimum , FILTER_VALIDATE_BOOLEAN )) {
29+ // Draft 4 schema
2930 if (isset ($ schema ->minimum )) {
3031 if ($ schema ->exclusiveMinimum && $ element <= $ schema ->minimum ) {
3132 $ this ->addError ($ path , 'Must have a minimum value of ' . $ schema ->minimum , 'exclusiveMinimum ' , array ('minimum ' => $ schema ->minimum ));
@@ -35,12 +36,18 @@ public function check(&$element, $schema = null, JsonPointer $path = null, $i =
3536 } else {
3637 $ this ->addError ($ path , 'Use of exclusiveMinimum requires presence of minimum ' , 'missingMinimum ' );
3738 }
39+ } elseif (isset ($ schema ->exclusiveMinimum ) && filter_var ($ schema ->exclusiveMinimum , FILTER_VALIDATE_INT )) {
40+ // Draft 6 schema
41+ if ($ element <= $ schema ->exclusiveMinimum ) {
42+ $ this ->addError ($ path , 'Must have an exclusiveMinimum value of ' . $ schema ->exclusiveMinimum , 'exclusiveMinimum ' , array ('exclusiveMinimum ' => $ schema ->exclusiveMinimum ));
43+ }
3844 } elseif (isset ($ schema ->minimum ) && $ element < $ schema ->minimum ) {
3945 $ this ->addError ($ path , 'Must have a minimum value of ' . $ schema ->minimum , 'minimum ' , array ('minimum ' => $ schema ->minimum ));
4046 }
4147
4248 // Verify maximum
43- if (isset ($ schema ->exclusiveMaximum )) {
49+ if (isset ($ schema ->exclusiveMaximum ) && filter_var ($ schema ->exclusiveMaximum , FILTER_VALIDATE_BOOLEAN )) {
50+ // Draft 4 schema
4451 if (isset ($ schema ->maximum )) {
4552 if ($ schema ->exclusiveMaximum && $ element >= $ schema ->maximum ) {
4653 $ this ->addError ($ path , 'Must have a maximum value of ' . $ schema ->maximum , 'exclusiveMaximum ' , array ('maximum ' => $ schema ->maximum ));
@@ -50,6 +57,11 @@ public function check(&$element, $schema = null, JsonPointer $path = null, $i =
5057 } else {
5158 $ this ->addError ($ path , 'Use of exclusiveMaximum requires presence of maximum ' , 'missingMaximum ' );
5259 }
60+ } elseif (isset ($ schema ->exclusiveMaximum ) && filter_var ($ schema ->exclusiveMaximum , FILTER_VALIDATE_INT )) {
61+ // Draft 6 schema
62+ if ($ element >= $ schema ->exclusiveMaximum ) {
63+ $ this ->addError ($ path , 'Must have an exclusiveMaximum value of ' . $ schema ->exclusiveMaximum , 'exclusiveMaximum ' , array ('exclusiveMaximum ' => $ schema ->exclusiveMaximum ));
64+ }
5365 } elseif (isset ($ schema ->maximum ) && $ element > $ schema ->maximum ) {
5466 $ this ->addError ($ path , 'Must have a maximum value of ' . $ schema ->maximum , 'maximum ' , array ('maximum ' => $ schema ->maximum ));
5567 }
0 commit comments