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. 11.x 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.