From fe341951fe8d88aa11bfadd8a4c86eb70a4c979c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Brindle?= <sebastien.brindle@kleegroup.com>
Date: Thu, 25 Jul 2024 09:08:25 +0200
Subject: [PATCH] Fix form novalidate attribute on webform.

---
 includes/form.theme | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/includes/form.theme b/includes/form.theme
index a963704..e3ad6bb 100644
--- a/includes/form.theme
+++ b/includes/form.theme
@@ -9,7 +9,6 @@ declare(strict_types=1);
 
 use Drupal\Component\Utility\Crypt;
 use Drupal\Core\Form\FormStateInterface;
-use Drupal\Core\Render\Element;
 
 /**
  * Implements hook_form_FORM_ID_alter() for "node_preview_form_select".
@@ -59,6 +58,16 @@ function dsfr4drupal_preprocess_form(array &$variables): void {
   }
 }
 
+/**
+ * Implements hook_preprocess_HOOK() for "webform".
+ */
+function dsfr4drupal_preprocess_webform(array &$variables): void {
+  // Disable browser validation of form fields.
+  if (theme_get_setting('form_novalidate')) {
+    $variables['attributes']['novalidate'] = 'novalidate';
+  }
+}
+
 /**
  * Implements hook_preprocess_HOOK() for "form_element".
  */
-- 
GitLab