You are here

public function ConstraintViolationBuilder::addViolation in Zircon Profile 8

Same name in this branch
  1. 8 vendor/symfony/validator/Violation/ConstraintViolationBuilder.php \Symfony\Component\Validator\Violation\ConstraintViolationBuilder::addViolation()
  2. 8 core/lib/Drupal/Core/TypedData/Validation/ConstraintViolationBuilder.php \Drupal\Core\TypedData\Validation\ConstraintViolationBuilder::addViolation()
Same name and namespace in other branches
  1. 8.0 core/lib/Drupal/Core/TypedData/Validation/ConstraintViolationBuilder.php \Drupal\Core\TypedData\Validation\ConstraintViolationBuilder::addViolation()

Adds the violation to the current execution context.

Overrides ConstraintViolationBuilderInterface::addViolation

File

core/lib/Drupal/Core/TypedData/Validation/ConstraintViolationBuilder.php, line 221
Contains \Drupal\Core\TypedData\Validation\ConstraintViolationBuilder.

Class

ConstraintViolationBuilder
Defines a constraint violation builder for the Typed Data validator.

Namespace

Drupal\Core\TypedData\Validation

Code

public function addViolation() {
  if (null === $this->plural) {
    $translatedMessage = $this->translator
      ->trans($this->message, $this->parameters, $this->translationDomain);
  }
  else {
    try {
      $translatedMessage = $this->translator
        ->transChoice($this->message, $this->plural, $this->parameters, $this->translationDomain);
    } catch (\InvalidArgumentException $e) {
      $translatedMessage = $this->translator
        ->trans($this->message, $this->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));
}