diff --git a/modules/json_form_widget/src/StringHelper.php b/modules/json_form_widget/src/StringHelper.php index d2ae0b0ea5..aa59262266 100644 --- a/modules/json_form_widget/src/StringHelper.php +++ b/modules/json_form_widget/src/StringHelper.php @@ -82,6 +82,7 @@ public function handleStringElement($definition, $data, $object_schema = FALSE) // Add extra validate if element type is email. if ($element['#type'] === 'email') { $element['#element_validate'][] = [$this, 'validateEmail']; + $element['#default_value'] = ltrim($element['#default_value'], 'mailto:'); } return $element; diff --git a/modules/json_form_widget/src/ValueHandler.php b/modules/json_form_widget/src/ValueHandler.php index 025f80de43..ffb8f7c9f8 100644 --- a/modules/json_form_widget/src/ValueHandler.php +++ b/modules/json_form_widget/src/ValueHandler.php @@ -18,6 +18,9 @@ public function flattenValues($formValues, $property, $schema) { switch ($schema->type) { case 'string': $data = $this->handleStringValues($formValues, $property); + if ($property === 'hasEmail') { + $data = 'mailto:' . ltrim($data, 'mailto:'); + } break; case 'object':