Exemple #1
0
 protected function validateArray($data, $schema)
 {
     # maxItems
     if (isset($schema->maxItems)) {
         $this->validateMaxMin($data, $schema->maxItems, true);
     }
     if (!$this->lax) {
         # minItems
         if (isset($schema->minItems)) {
             $this->validateMaxMin($data, $schema->minItems, false);
         }
     }
     # uniqueItems
     if ($value = JsonUtils::get($schema, 'uniqueItems', false)) {
         if (!JsonUtils::uniqueArray($data, true)) {
             $this->throwError('contains duplicate values');
         }
     }
     # items
     $items = JsonUtils::get($schema, 'items', array());
     # additionalItems
     $additional = JsonUtils::get($schema, 'additionalItems', true);
     if (false === $additional && is_array($items)) {
         if (count($data) > count($items)) {
             $this->throwError('contains more elements than are allowed');
         }
     }
     $this->validateArrayChildren($data, $items, $additional);
 }