function ConstraintValidatorFactory::getInstance

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Validation/ConstraintValidatorFactory.php \Drupal\Core\Validation\ConstraintValidatorFactory::getInstance()
  2. 8.9.x core/lib/Drupal/Core/Validation/ConstraintValidatorFactory.php \Drupal\Core\Validation\ConstraintValidatorFactory::getInstance()
  3. 10 core/lib/Drupal/Core/Validation/ConstraintValidatorFactory.php \Drupal\Core\Validation\ConstraintValidatorFactory::getInstance()

File

core/lib/Drupal/Core/Validation/ConstraintValidatorFactory.php, line 36

Class

ConstraintValidatorFactory
Defines a constraint validator factory that works with container injection.

Namespace

Drupal\Core\Validation

Code

public function getInstance(Constraint $constraint) : ConstraintValidatorInterface {
    $class_name = $constraint->validatedBy();
    // Constraint validator instances should always be initialized newly and
    // never shared, because the current validation context is getting injected
    // into them through setter injection and in a case of a recursive
    // validation where a validator triggers a validation chain leading to the
    // same validator the context of the first call would be exchanged with the
    // one of the subsequent validation chain.
    return $this->classResolver
        ->getInstanceFromDefinition($class_name);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.