You are here

public function ForumLeafConstraintValidator::validate in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/forum/src/Plugin/Validation/Constraint/ForumLeafConstraintValidator.php \Drupal\forum\Plugin\Validation\Constraint\ForumLeafConstraintValidator::validate()
  2. 9 core/modules/forum/src/Plugin/Validation/Constraint/ForumLeafConstraintValidator.php \Drupal\forum\Plugin\Validation\Constraint\ForumLeafConstraintValidator::validate()

File

core/modules/forum/src/Plugin/Validation/Constraint/ForumLeafConstraintValidator.php, line 16

Class

ForumLeafConstraintValidator
Validates the ForumLeaf constraint.

Namespace

Drupal\forum\Plugin\Validation\Constraint

Code

public function validate($items, Constraint $constraint) {
  $item = $items
    ->first();
  if (!isset($item)) {
    return NULL;
  }

  // Verify that a term has been selected.
  if (!$item->entity) {
    $this->context
      ->addViolation($constraint->selectForum);
  }

  // The forum_container flag must not be set.
  if (!empty($item->entity->forum_container->value)) {
    $this->context
      ->addViolation($constraint->noLeafMessage, [
      '%forum' => $item->entity
        ->getName(),
    ]);
  }
}