public function BundleConstraintValidator::validate

Implements \Symfony\Component\Validator\ConstraintValidatorInterface::validate().

Overrides ConstraintValidatorInterface::validate

File

drupal/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/BundleConstraintValidator.php, line 21
Contains \Drupal\Core\Validation\Plugin\Validation\Constraint\BundleConstraintValidator.

Class

BundleConstraintValidator
Validates the Bundle constraint.

Namespace

Drupal\Core\Validation\Plugin\Validation\Constraint

Code

public function validate($typed_data, Constraint $constraint) {

  // If the entity is contained in a reference, unwrap it first.
  $entity = isset($typed_data) && !$typed_data instanceof EntityInterface ? $typed_data
    ->getValue() : FALSE;
  if (!empty($entity) && !in_array($entity
    ->bundle(), $constraint
    ->getBundleOption())) {
    $this->context
      ->addViolation($constraint->message, array(
      '%bundle',
      implode(', ', $constraint
        ->getBundleOption()),
    ));
  }
}