class ValidSequenceKeysConstraintValidator
Validates that all the keys of a sequence match the specified constraints.
Hierarchy
- class \Drupal\Core\Validation\Plugin\Validation\Constraint\ValidSequenceKeysConstraintValidator implements \Drupal\Core\DependencyInjection\ContainerInjectionInterface uses \Drupal\Core\DependencyInjection\AutowireTrait extends \Symfony\Component\Validator\ConstraintValidator
Expanded class hierarchy of ValidSequenceKeysConstraintValidator
1 file declares its use of ValidSequenceKeysConstraintValidator
- ValidSequenceKeysValidatorTest.php in core/
tests/ Drupal/ KernelTests/ Core/ Validation/ ValidSequenceKeysValidatorTest.php
File
-
core/
lib/ Drupal/ Core/ Validation/ Plugin/ Validation/ Constraint/ ValidSequenceKeysConstraintValidator.php, line 18
Namespace
Drupal\Core\Validation\Plugin\Validation\ConstraintView source
class ValidSequenceKeysConstraintValidator extends ConstraintValidator implements ContainerInjectionInterface {
use AutowireTrait;
public function __construct(private readonly ClassResolverInterface $classResolver) {
}
/**
* {@inheritdoc}
*/
public function validate(mixed $value, Constraint $constraint) : void {
assert($constraint instanceof ValidSequenceKeysConstraint);
if (!is_array($value)) {
throw new UnexpectedTypeException($value, 'array');
}
if (empty($value)) {
return;
}
$previousViolationCount = count($this->context
->getViolations());
$constraintValidatorFactory = new ConstraintValidatorFactory($this->classResolver);
foreach (array_keys($value) as $sequence_key) {
foreach ($constraint->constraints as $item) {
$validator = $constraintValidatorFactory->getInstance($item);
$validator->initialize($this->context);
$validator->validate($sequence_key, $item);
}
}
if (count($this->context
->getViolations()) > $previousViolationCount) {
$this->context
->buildViolation($constraint->message)
->addViolation();
}
}
}
Members
| Title Sort descending | Modifiers | Object type | Summary | Overrides |
|---|---|---|---|---|
| AutowiredInstanceTrait::createInstanceAutowired | public static | function | Instantiates a new instance of the implementing class using autowiring. | |
| AutowireTrait::create | public static | function | Instantiates a new instance of the implementing class using autowiring. | 32 |
| ValidSequenceKeysConstraintValidator::validate | public | function | ||
| ValidSequenceKeysConstraintValidator::__construct | public | function |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.