diff --git a/core/lib/Drupal/Core/Entity/Plugin/EntityReferenceSelection/SelectionBase.php b/core/lib/Drupal/Core/Entity/Plugin/EntityReferenceSelection/SelectionBase.php index 33ffc07..7522d86 100644 --- a/core/lib/Drupal/Core/Entity/Plugin/EntityReferenceSelection/SelectionBase.php +++ b/core/lib/Drupal/Core/Entity/Plugin/EntityReferenceSelection/SelectionBase.php @@ -254,12 +254,12 @@ public function countReferenceableEntities($match = NULL, $match_operator = 'CON /** * {@inheritdoc} */ - public function validateReferenceableEntities(array $ids) { + public function validateReferenceableEntities(array $ids, $strict = TRUE) { $result = array(); if ($ids) { $target_type = $this->configuration['target_type']; $entity_type = $this->entityManager->getDefinition($target_type); - $query = $this->buildEntityQuery(); + $query = $this->buildEntityQuery(NULL, 'CONTAINS', $strict); $result = $query ->condition($entity_type->getKey('id'), $ids, 'IN') ->execute(); diff --git a/core/lib/Drupal/Core/Entity/Plugin/Validation/Constraint/ValidReferenceConstraintValidator.php b/core/lib/Drupal/Core/Entity/Plugin/Validation/Constraint/ValidReferenceConstraintValidator.php index cfcdd85..557ebb0 100644 --- a/core/lib/Drupal/Core/Entity/Plugin/Validation/Constraint/ValidReferenceConstraintValidator.php +++ b/core/lib/Drupal/Core/Entity/Plugin/Validation/Constraint/ValidReferenceConstraintValidator.php @@ -69,7 +69,7 @@ public function validate($value, Constraint $constraint) { // Add violations on deltas with a target_id that is not valid. if ($target_ids) { - $valid_target_ids = $handler->validateReferenceableEntities($target_ids); + $valid_target_ids = $handler->validateReferenceableEntities($target_ids, FALSE); foreach (array_diff($target_ids, $valid_target_ids) as $delta => $target_id) { $this->context->buildViolation($constraint->message) ->setParameter('%type', $target_type) diff --git a/core/modules/file/src/Plugin/EntityReferenceSelection/FileSelection.php b/core/modules/file/src/Plugin/EntityReferenceSelection/FileSelection.php index 1c157d0..1a59d58 100644 --- a/core/modules/file/src/Plugin/EntityReferenceSelection/FileSelection.php +++ b/core/modules/file/src/Plugin/EntityReferenceSelection/FileSelection.php @@ -25,9 +25,11 @@ class FileSelection extends SelectionBase { /** * {@inheritdoc} */ - protected function buildEntityQuery($match = NULL, $match_operator = 'CONTAINS') { + protected function buildEntityQuery($match = NULL, $match_operator = 'CONTAINS', $strict = TRUE) { $query = parent::buildEntityQuery($match, $match_operator); - $query->condition('status', FILE_STATUS_PERMANENT); + if ($strict) { + $query->condition('status', FILE_STATUS_PERMANENT); + } return $query; }