class ConstraintValidatorFactory in Drupal 9
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Validation/ConstraintValidatorFactory.php \Drupal\Core\Validation\ConstraintValidatorFactory
Defines a constraint validator factory that works with container injection.
@TODO Decide what to do with this class or how to reuse constraint validators in https://drupal.org/project/drupal/issues/3097071
Hierarchy
- class \Drupal\Core\Validation\ConstraintValidatorFactory extends \Symfony\Component\Validator\ConstraintValidatorFactory
Expanded class hierarchy of ConstraintValidatorFactory
1 file declares its use of ConstraintValidatorFactory
- TypedDataManager.php in core/
lib/ Drupal/ Core/ TypedData/ TypedDataManager.php
File
- core/
lib/ Drupal/ Core/ Validation/ ConstraintValidatorFactory.php, line 15
Namespace
Drupal\Core\ValidationView source
class ConstraintValidatorFactory extends BaseConstraintValidatorFactory {
/**
* Constructs a new ConstraintValidatorFactory.
*
* @param \Drupal\Core\DependencyInjection\ClassResolverInterface $class_resolver
*/
public function __construct(ClassResolverInterface $class_resolver) {
$this->classResolver = $class_resolver;
}
/**
* {@inheritdoc}
*/
public function getInstance(Constraint $constraint) {
$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);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ConstraintValidatorFactory:: |
public | function | ||
ConstraintValidatorFactory:: |
public | function | Constructs a new ConstraintValidatorFactory. |