collection-8.x-1.x-dev/src/Plugin/Validation/Constraint/UniqueItemValidator.php

src/Plugin/Validation/Constraint/UniqueItemValidator.php
<?php

namespace Drupal\collection\Plugin\Validation\Constraint;

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

/**
 * Validates the UniqueItem constraint.
 */
class UniqueItemValidator extends ConstraintValidator {

  /**
   * {@inheritdoc}
   */
  public function validate($collection_item, Constraint $constraint) {
    /** @var Drupal\collection\Entity\CollectionItemInterface $collection_item */
    $collection = $collection_item->collection->entity;

    /** @var Drupal\Core\Entity\EntityInterface $item_entity */
    $item_entity = $collection_item->item->entity;

    if ($collection_item->isNew() && $collection->getItem($item_entity)) {
      $this->context->addViolation($constraint->duplicate, [
        '%entity' => $item_entity->label(),
        '%collection' => $collection->label(),
      ]);
    }
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc