@@ -25,7 +25,8 @@ class NumberConstraint extends Constraint
25
25
public function check (&$ element , $ schema = null , JsonPointer $ path = null , $ i = null )
26
26
{
27
27
// Verify minimum
28
- if (isset ($ schema ->exclusiveMinimum )) {
28
+ if (isset ($ schema ->exclusiveMinimum ) && filter_var ($ schema ->exclusiveMinimum , FILTER_VALIDATE_BOOLEAN )) {
29
+ // Draft 4 schema
29
30
if (isset ($ schema ->minimum )) {
30
31
if ($ schema ->exclusiveMinimum && $ element <= $ schema ->minimum ) {
31
32
$ 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 =
35
36
} else {
36
37
$ this ->addError ($ path , 'Use of exclusiveMinimum requires presence of minimum ' , 'missingMinimum ' );
37
38
}
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
+ }
38
44
} elseif (isset ($ schema ->minimum ) && $ element < $ schema ->minimum ) {
39
45
$ this ->addError ($ path , 'Must have a minimum value of ' . $ schema ->minimum , 'minimum ' , array ('minimum ' => $ schema ->minimum ));
40
46
}
41
47
42
48
// Verify maximum
43
- if (isset ($ schema ->exclusiveMaximum )) {
49
+ if (isset ($ schema ->exclusiveMaximum ) && filter_var ($ schema ->exclusiveMaximum , FILTER_VALIDATE_BOOLEAN )) {
50
+ // Draft 4 schema
44
51
if (isset ($ schema ->maximum )) {
45
52
if ($ schema ->exclusiveMaximum && $ element >= $ schema ->maximum ) {
46
53
$ 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 =
50
57
} else {
51
58
$ this ->addError ($ path , 'Use of exclusiveMaximum requires presence of maximum ' , 'missingMaximum ' );
52
59
}
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
+ }
53
65
} elseif (isset ($ schema ->maximum ) && $ element > $ schema ->maximum ) {
54
66
$ this ->addError ($ path , 'Must have a maximum value of ' . $ schema ->maximum , 'maximum ' , array ('maximum ' => $ schema ->maximum ));
55
67
}
0 commit comments