From 6f4f317aea56d40cf6fbcdd0a35972ed80cfd009 Mon Sep 17 00:00:00 2001 From: ajstanley Date: Tue, 4 Feb 2025 17:24:45 +0000 Subject: [PATCH] improved validator --- src/Form/DoiPrepopulateForm.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Form/DoiPrepopulateForm.php b/src/Form/DoiPrepopulateForm.php index cca0465..4c9c6eb 100644 --- a/src/Form/DoiPrepopulateForm.php +++ b/src/Form/DoiPrepopulateForm.php @@ -11,6 +11,7 @@ use Symfony\Component\DependencyInjection\ContainerInterface; use Drupal\doi_prefill\CrossrefApiReader; use Drupal\doi_prefill\NodeBuilder; use Symfony\Component\HttpFoundation\RedirectResponse; +use Drupal\Core\Render\Markup; /** * Provides a DOI Prefill form. @@ -86,7 +87,14 @@ final class DoiPrepopulateForm extends FormBase { ]); if (!empty($existing_nodes)) { - $form_state->setErrorByName('doi', $this->t('A node with this DOI already exists.')); + $tags = []; + foreach ($existing_nodes as $node) { + $tags[] = "{$doi}"; + } + $message = $this->t("DOI already exists in the system."); + $links = implode("
", $tags); + $message = "{$message}
{$links}"; + $form_state->setErrorByName('doi', Markup::create($message)); } } }