class ConstraintViolationBuilder
Same name in this branch
- 11.1.x core/lib/Drupal/Core/Validation/ConstraintViolationBuilder.php \Drupal\Core\Validation\ConstraintViolationBuilder
Default implementation of {@link ConstraintViolationBuilderInterface}.
@author Bernhard Schussek <bschussek@gmail.com>
@internal
Hierarchy
- class \Symfony\Component\Validator\Violation\ConstraintViolationBuilder implements \Symfony\Component\Validator\Violation\ConstraintViolationBuilderInterface
Expanded class hierarchy of ConstraintViolationBuilder
1 file declares its use of ConstraintViolationBuilder
- ExecutionContext.php in vendor/
symfony/ validator/ Context/ ExecutionContext.php
File
-
vendor/
symfony/ validator/ Violation/ ConstraintViolationBuilder.php, line 27
Namespace
Symfony\Component\Validator\ViolationView source
class ConstraintViolationBuilder implements ConstraintViolationBuilderInterface {
private string $propertyPath;
private ?int $plural = null;
private ?string $code = null;
private mixed $cause = null;
public function __construct(ConstraintViolationList $violations, ?Constraint $constraint, string|\Stringable $message, array $parameters, mixed $root, ?string $propertyPath, mixed $invalidValue, TranslatorInterface $translator, string|false|null $translationDomain = null) {
$this->propertyPath = $propertyPath ?? '';
}
public function atPath(string $path) : static {
$this->propertyPath = PropertyPath::append($this->propertyPath, $path);
return $this;
}
public function setParameter(string $key, string $value) : static {
$this->parameters[$key] = $value;
return $this;
}
public function setParameters(array $parameters) : static {
$this->parameters = $parameters;
return $this;
}
public function setTranslationDomain(string $translationDomain) : static {
$this->translationDomain = $translationDomain;
return $this;
}
/**
* @return $this
*/
public function disableTranslation() : static {
$this->translationDomain = false;
return $this;
}
public function setInvalidValue(mixed $invalidValue) : static {
$this->invalidValue = $invalidValue;
return $this;
}
public function setPlural(int $number) : static {
$this->plural = $number;
return $this;
}
public function setCode(?string $code) : static {
$this->code = $code;
return $this;
}
public function setCause(mixed $cause) : static {
$this->cause = $cause;
return $this;
}
public function addViolation() : void {
$parameters = null === $this->plural ? $this->parameters : [
'%count%' => $this->plural,
] + $this->parameters;
if (false === $this->translationDomain) {
$translatedMessage = strtr($this->message, $parameters);
}
else {
$translatedMessage = $this->translator
->trans($this->message, $parameters, $this->translationDomain);
}
$this->violations
->add(new ConstraintViolation($translatedMessage, $this->message, $this->parameters, $this->root, $this->propertyPath, $this->invalidValue, $this->plural, $this->code, $this->constraint, $this->cause));
}
}