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

Breadcrumb

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

class RecursiveValidator

Same name in this branch
  1. 11.1.x core/lib/Drupal/Core/TypedData/Validation/RecursiveValidator.php \Drupal\Core\TypedData\Validation\RecursiveValidator

Recursive implementation of {@link ValidatorInterface}.

@author Bernhard Schussek <bschussek@gmail.com>

Hierarchy

  • class \Symfony\Component\Validator\Validator\RecursiveValidator implements \Symfony\Component\Validator\Validator\ValidatorInterface

Expanded class hierarchy of RecursiveValidator

2 files declare their use of RecursiveValidator
BasicRecursiveValidatorFactory.php in core/lib/Drupal/Core/Validation/BasicRecursiveValidatorFactory.php
ValidatorBuilder.php in vendor/symfony/validator/ValidatorBuilder.php

File

vendor/symfony/validator/Validator/RecursiveValidator.php, line 30

Namespace

Symfony\Component\Validator\Validator
View source
class RecursiveValidator implements ValidatorInterface {
    
    /**
     * Creates a new validator.
     *
     * @param ObjectInitializerInterface[] $objectInitializers The object initializers
     */
    public function __construct(ExecutionContextFactoryInterface $contextFactory, MetadataFactoryInterface $metadataFactory, ConstraintValidatorFactoryInterface $validatorFactory, array $objectInitializers = [], ?ContainerInterface $groupProviderLocator = null) {
    }
    public function startContext(mixed $root = null) : ContextualValidatorInterface {
        return new RecursiveContextualValidator($this->contextFactory
            ->createContext($this, $root), $this->metadataFactory, $this->validatorFactory, $this->objectInitializers, $this->groupProviderLocator);
    }
    public function inContext(ExecutionContextInterface $context) : ContextualValidatorInterface {
        return new RecursiveContextualValidator($context, $this->metadataFactory, $this->validatorFactory, $this->objectInitializers, $this->groupProviderLocator);
    }
    public function getMetadataFor(mixed $object) : MetadataInterface {
        return $this->metadataFactory
            ->getMetadataFor($object);
    }
    public function hasMetadataFor(mixed $object) : bool {
        return $this->metadataFactory
            ->hasMetadataFor($object);
    }
    public function validate(mixed $value, Constraint|array|null $constraints = null, string|GroupSequence|array|null $groups = null) : ConstraintViolationListInterface {
        return $this->startContext($value)
            ->validate($value, $constraints, $groups)
            ->getViolations();
    }
    public function validateProperty(object $object, string $propertyName, string|GroupSequence|array|null $groups = null) : ConstraintViolationListInterface {
        return $this->startContext($object)
            ->validateProperty($object, $propertyName, $groups)
            ->getViolations();
    }
    public function validatePropertyValue(object|string $objectOrClass, string $propertyName, mixed $value, string|GroupSequence|array|null $groups = null) : ConstraintViolationListInterface {
        // If a class name is passed, take $value as root
        return $this->startContext(\is_object($objectOrClass) ? $objectOrClass : $value)
            ->validatePropertyValue($objectOrClass, $propertyName, $value, $groups)
            ->getViolations();
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title
RecursiveValidator::getMetadataFor public function Returns the metadata for the given value. Overrides MetadataFactoryInterface::getMetadataFor
RecursiveValidator::hasMetadataFor public function Returns whether the class is able to return metadata for the given value. Overrides MetadataFactoryInterface::hasMetadataFor
RecursiveValidator::inContext public function Returns a validator in the given execution context. Overrides ValidatorInterface::inContext
RecursiveValidator::startContext public function Starts a new validation context and returns a validator for that context. Overrides ValidatorInterface::startContext
RecursiveValidator::validate public function Validates a value against a constraint or a list of constraints. Overrides ValidatorInterface::validate
RecursiveValidator::validateProperty public function Validates a property of an object against the constraints specified
for this property.
Overrides ValidatorInterface::validateProperty
RecursiveValidator::validatePropertyValue public function Validates a value against the constraints specified for an object&#039;s
property.
Overrides ValidatorInterface::validatePropertyValue
RecursiveValidator::__construct public function Creates a new validator.

API Navigation

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