function ValidSequenceKeysConstraintValidator::validate
File
-
core/
lib/ Drupal/ Core/ Validation/ Plugin/ Validation/ Constraint/ ValidSequenceKeysConstraintValidator.php, line 29
Class
- ValidSequenceKeysConstraintValidator
- Validates that all the keys of a sequence match the specified constraints.
Namespace
Drupal\Core\Validation\Plugin\Validation\ConstraintCode
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();
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.