From f0a3584a6d67b4a00174c5d58c9b89bb4d03b9aa Mon Sep 17 00:00:00 2001 From: Patrick Lenk Date: Mon, 19 Oct 2026 15:46:59 +0200 Subject: [PATCH] [BUGFIX] Skip native validation for checkbox groups --- Resources/Public/JavaScript/PowermailCondition.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Resources/Public/JavaScript/PowermailCondition.js b/Resources/Public/JavaScript/PowermailCondition.js index 7cda3d2..2b21824 100644 --- a/Resources/Public/JavaScript/PowermailCondition.js +++ b/Resources/Public/JavaScript/PowermailCondition.js @@ -103,10 +103,15 @@ class PowermailCondition { * Note: reportValidity() alone is not sufficient because it always returns * true when the form has a "novalidate" attribute (i.e. when native * validation is disabled via TypoScript validation.native = 0). + * + * Native validation is skipped for required powermail checkbox groups because + * its behaviour does not match powermail's checkbox group validation. */ #hasValidationErrors() { - if (!this.#form.reportValidity()) { - return true; + if (!this.#hasRequiredCheckboxGroup()) { + if (!this.#form.reportValidity()) { + return true; + } } if (this.#form.classList.contains('powermail_form_error')) { return true; @@ -283,6 +288,10 @@ class PowermailCondition { return this.#form.getAttribute('data-validate') === 'html5'; }; + #hasRequiredCheckboxGroup() { + return this.#form.querySelector('input[type="checkbox"][required][data-powermail-multiple="checkbox"]') !== null; + }; + #getWrappingContainerByMarkerName(fieldMarker) { let wrappingContainer = this.#getFieldwrappingContainerByMarker(fieldMarker); if (wrappingContainer !== null) {