function ForumLeafConstraintValidator::validate

Same name and namespace in other branches
  1. 9 core/modules/forum/src/Plugin/Validation/Constraint/ForumLeafConstraintValidator.php \Drupal\forum\Plugin\Validation\Constraint\ForumLeafConstraintValidator::validate()
  2. 8.9.x core/modules/forum/src/Plugin/Validation/Constraint/ForumLeafConstraintValidator.php \Drupal\forum\Plugin\Validation\Constraint\ForumLeafConstraintValidator::validate()
  3. 11.x 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(),
    ]);
  }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.