DeletedWorkspaceConstraintValidator.php
Same filename in other branches
- 9 core/modules/workspaces/src/Plugin/Validation/Constraint/DeletedWorkspaceConstraintValidator.php
- 8.9.x core/modules/workspaces/src/Plugin/Validation/Constraint/DeletedWorkspaceConstraintValidator.php
- 11.x core/modules/workspaces/src/Plugin/Validation/Constraint/DeletedWorkspaceConstraintValidator.php
Namespace
Drupal\workspaces\Plugin\Validation\ConstraintFile
-
core/
modules/ workspaces/ src/ Plugin/ Validation/ Constraint/ DeletedWorkspaceConstraintValidator.php
View source
<?php
namespace Drupal\workspaces\Plugin\Validation\Constraint;
use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
use Drupal\Core\State\StateInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\Validator\Constraint;
use Symfony\Component\Validator\ConstraintValidator;
/**
* Checks if data still exists for a deleted workspace ID.
*/
class DeletedWorkspaceConstraintValidator extends ConstraintValidator implements ContainerInjectionInterface {
/**
* The state service.
*
* @var \Drupal\Core\State\StateInterface
*/
protected $state;
/**
* Creates a new DeletedWorkspaceConstraintValidator instance.
*
* @param \Drupal\Core\State\StateInterface $state
* The state service.
*/
public function __construct(StateInterface $state) {
$this->state = $state;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container) {
return new static($container->get('state'));
}
/**
* {@inheritdoc}
*/
public function validate($value, Constraint $constraint) {
/** @var \Drupal\Core\Field\FieldItemListInterface $value */
// This constraint applies only to newly created workspace entities.
if (!isset($value) || !$value->getEntity()
->isNew()) {
return;
}
$deleted_workspace_ids = $this->state
->get('workspace.deleted', []);
if (isset($deleted_workspace_ids[$value->getEntity()
->id()])) {
$this->context
->addViolation($constraint->message);
}
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
DeletedWorkspaceConstraintValidator | Checks if data still exists for a deleted workspace ID. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.