ForumLeafConstraintValidator.php

Same filename in other branches
  1. 9 core/modules/forum/src/Plugin/Validation/Constraint/ForumLeafConstraintValidator.php
  2. 8.9.x core/modules/forum/src/Plugin/Validation/Constraint/ForumLeafConstraintValidator.php
  3. 10 core/modules/forum/src/Plugin/Validation/Constraint/ForumLeafConstraintValidator.php

Namespace

Drupal\forum\Plugin\Validation\Constraint

File

core/modules/forum/src/Plugin/Validation/Constraint/ForumLeafConstraintValidator.php

View source
<?php

namespace Drupal\forum\Plugin\Validation\Constraint;

use Symfony\Component\Validator\Constraint;
use Symfony\Component\Validator\ConstraintValidator;

/**
 * Validates the ForumLeaf constraint.
 */
class ForumLeafConstraintValidator extends ConstraintValidator {
    
    /**
     * {@inheritdoc}
     */
    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(),
            ]);
        }
    }

}

Classes

Title Deprecated Summary
ForumLeafConstraintValidator Validates the ForumLeaf constraint.

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