diff --git a/lib/Form/Block/BlockRendererHelper.php b/lib/Form/Block/BlockRendererHelper.php
index 2deadec1de..7dd72729b1 100644
--- a/lib/Form/Block/BlockRendererHelper.php
+++ b/lib/Form/Block/BlockRendererHelper.php
@@ -191,6 +191,12 @@ class BlockRendererHelper {
? $this->wp->escAttr(trim($block['params']['value'])) : '';
}
+ public function getFieldIsRequired($block = []): bool {
+ return (isset($block['params']['required'])
+ && strlen(trim($block['params']['required'])) > 0)
+ ? !empty($block['params']['required']) : false;
+ }
+
public function getInputModifiers(array $block = []): string {
$modifiers = [];
diff --git a/lib/Form/Block/Checkbox.php b/lib/Form/Block/Checkbox.php
index 3850482bd9..41aa9fefd6 100644
--- a/lib/Form/Block/Checkbox.php
+++ b/lib/Form/Block/Checkbox.php
@@ -40,10 +40,15 @@ class Checkbox {
);
$selectedValue = $this->rendererHelper->getFieldValue($block);
+ $isFieldRequired = $this->rendererHelper->getFieldIsRequired($block);
foreach ($options as $option) {
+ $hiddenValue = $isFieldRequired ? '1' : '0'; // Mandatory Fields can not be Empty
+ $html .= '';
+
$html .= '