Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ObjectConstraint.php

function ObjectConstraint::validateMinMaxConstraint

validating minimum and maximum property constraints (if present) against an element

Parameters

\stdClass $element Element to validate:

\stdClass $objectDefinition ObjectConstraint definition:

JsonPointer|null $path Path to test?:

1 call to ObjectConstraint::validateMinMaxConstraint()
ObjectConstraint::validateElement in vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/ObjectConstraint.php
Validates the element properties

File

vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/ObjectConstraint.php, line 177

Class

ObjectConstraint
The ObjectConstraint Constraints, validates an object against a given schema

Namespace

JsonSchema\Constraints

Code

protected function validateMinMaxConstraint($element, $objectDefinition, ?JsonPointer $path = null) {
    // Verify minimum number of properties
    if (isset($objectDefinition->minProperties) && !is_object($objectDefinition->minProperties)) {
        if ($this->getTypeCheck()
            ->propertyCount($element) < $objectDefinition->minProperties) {
            $this->addError($path, 'Must contain a minimum of ' . $objectDefinition->minProperties . ' properties', 'minProperties', array(
                'minProperties' => $objectDefinition->minProperties,
            ));
        }
    }
    // Verify maximum number of properties
    if (isset($objectDefinition->maxProperties) && !is_object($objectDefinition->maxProperties)) {
        if ($this->getTypeCheck()
            ->propertyCount($element) > $objectDefinition->maxProperties) {
            $this->addError($path, 'Must contain no more than ' . $objectDefinition->maxProperties . ' properties', 'maxProperties', array(
                'maxProperties' => $objectDefinition->maxProperties,
            ));
        }
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal