diff --git a/core/lib/Drupal/Core/Path/Plugin/Validation/Constraint/UniquePathAliasConstraintValidator.php b/core/lib/Drupal/Core/Path/Plugin/Validation/Constraint/UniquePathAliasConstraintValidator.php index 9ec3fc8..4d7b1e1 100644 --- a/core/lib/Drupal/Core/Path/Plugin/Validation/Constraint/UniquePathAliasConstraintValidator.php +++ b/core/lib/Drupal/Core/Path/Plugin/Validation/Constraint/UniquePathAliasConstraintValidator.php @@ -49,20 +49,19 @@ public function validate($entity, Constraint $constraint) { $langcode = $entity->language()->getId(); $storage = $this->entityTypeManager->getStorage('path_alias'); - $query = $storage->getQuery(); - $query->accessCheck(FALSE); + $query = $storage->getQuery() + ->accessCheck(FALSE) + ->condition('alias', $alias, '=') + ->condition('langcode', $langcode, '='); if (!$entity->isNew()) { $query->condition('id', $entity->id(), '<>'); } - $result = $query - ->condition('alias', $alias, '=') - ->condition('path', $path, '<>') - ->condition('langcode', $langcode, '=') - ->range(0, 1) - ->execute(); + if ($path) { + $query->condition('path', $path, '<>'); + } - if ($result) { + if ($result = $query->range(0, 1)->execute()) { $existing_alias_id = reset($result); $existing_alias = $storage->load($existing_alias_id);