@@ -27,7 +27,8 @@ class ObjectConstraint extends Constraint
2727 /**
2828 * {@inheritdoc}
2929 */
30- public function check (&$ element , $ definition = null , JsonPointer $ path = null , $ additionalProp = null , $ patternProperties = null , $ appliedDefaults = array ())
30+ public function check (&$ element , $ schema = null , JsonPointer $ path = null , $ properties = null ,
31+ $ additionalProp = null , $ patternProperties = null , $ appliedDefaults = array ())
3132 {
3233 if ($ element instanceof UndefinedConstraint) {
3334 return ;
@@ -37,16 +38,17 @@ public function check(&$element, $definition = null, JsonPointer $path = null, $
3738
3839 $ matches = array ();
3940 if ($ patternProperties ) {
41+ // validate the element pattern properties
4042 $ matches = $ this ->validatePatternProperties ($ element , $ path , $ patternProperties );
4143 }
4244
43- if ($ definition ) {
44- // validate the definition properties
45- $ this ->validateDefinition ($ element , $ definition , $ path );
45+ if ($ properties ) {
46+ // validate the element properties
47+ $ this ->validateProperties ($ element , $ properties , $ path );
4648 }
4749
48- // additional the element properties
49- $ this ->validateElement ($ element , $ matches , $ definition , $ path , $ additionalProp );
50+ // validate additional element properties & constraints
51+ $ this ->validateElement ($ element , $ matches , $ schema , $ path, $ properties , $ additionalProp );
5052 }
5153
5254 public function validatePatternProperties ($ element , JsonPointer $ path = null , $ patternProperties )
@@ -81,18 +83,20 @@ public function validatePatternProperties($element, JsonPointer $path = null, $p
8183 /**
8284 * Validates the element properties
8385 *
84- * @param \stdClass $element Element to validate
85- * @param array $matches Matches from patternProperties (if any)
86- * @param \stdClass $objectDefinition ObjectConstraint definition
87- * @param JsonPointer|null $path Path to test?
88- * @param mixed $additionalProp Additional properties
86+ * @param \StdClass $element Element to validate
87+ * @param array $matches Matches from patternProperties (if any)
88+ * @param \StdClass $schema ObjectConstraint definition
89+ * @param JsonPointer|null $path Current test path
90+ * @param \StdClass $properties Properties
91+ * @param mixed $additionalProp Additional properties
8992 */
90- public function validateElement ($ element , $ matches , $ objectDefinition = null , JsonPointer $ path = null , $ additionalProp = null )
93+ public function validateElement ($ element , $ matches , $ schema = null , JsonPointer $ path = null ,
94+ $ properties = null , $ additionalProp = null )
9195 {
92- $ this ->validateMinMaxConstraint ($ element , $ objectDefinition , $ path );
96+ $ this ->validateMinMaxConstraint ($ element , $ schema , $ path );
9397
9498 foreach ($ element as $ i => $ value ) {
95- $ definition = $ this ->getProperty ($ objectDefinition , $ i );
99+ $ definition = $ this ->getProperty ($ properties , $ i );
96100
97101 // no additional properties allowed
98102 if (!in_array ($ i , $ matches ) && $ additionalProp === false && $ this ->inlineSchemaProperty !== $ i && !$ definition ) {
@@ -124,17 +128,17 @@ public function validateElement($element, $matches, $objectDefinition = null, Js
124128 /**
125129 * Validates the definition properties
126130 *
127- * @param \stdClass $element Element to validate
128- * @param \stdClass $objectDefinition ObjectConstraint definition
129- * @param JsonPointer|null $path Path?
131+ * @param \stdClass $element Element to validate
132+ * @param \stdClass $properties Property definitions
133+ * @param JsonPointer|null $path Path?
130134 */
131- public function validateDefinition (&$ element , $ objectDefinition = null , JsonPointer $ path = null )
135+ public function validateProperties (&$ element , $ properties = null , JsonPointer $ path = null )
132136 {
133137 $ undefinedConstraint = $ this ->factory ->createInstanceFor ('undefined ' );
134138
135- foreach ($ objectDefinition as $ i => $ value ) {
139+ foreach ($ properties as $ i => $ value ) {
136140 $ property = &$ this ->getProperty ($ element , $ i , $ undefinedConstraint );
137- $ definition = $ this ->getProperty ($ objectDefinition , $ i );
141+ $ definition = $ this ->getProperty ($ properties , $ i );
138142
139143 if (is_object ($ definition )) {
140144 // Undefined constraint will check for is_object() and quit if is not - so why pass it?
0 commit comments