Add field attribute support for `EmailFormField`
authorMatthias Schmidt <gravatronics@live.com>
Wed, 23 Dec 2020 14:15:59 +0000 (15:15 +0100)
committerMatthias Schmidt <gravatronics@live.com>
Wed, 23 Dec 2020 14:24:19 +0000 (15:24 +0100)
com.woltlab.wcf/templates/__emailFormField.tpl
wcfsetup/install/files/acp/templates/__emailFormField.tpl
wcfsetup/install/files/lib/system/form/builder/field/EmailFormField.class.php

index 938ece48eaaceca21b3a2dbd23949d0a14b1456b..526c28ac17694a740b9dc78f4766e0738b6544dd 100644 (file)
@@ -12,6 +12,7 @@
        *}{if $field->getInputMode() !== null} inputmode="{$field->getInputMode()}"{/if}{*
        *}{if $field->getPlaceholder() !== null} placeholder="{$field->getPlaceholder()}"{/if}{*
        *}{if $field->getDocument()->isAjax()} data-dialog-submit-on-enter="true"{/if}{*
+       *}{foreach from=$field->getFieldAttributes() key='attributeName' item='attributeValue'} {$attributeName}="{$attributeValue}"{/foreach}{*
 *}>
 
 {if $field->isI18n()}
index 938ece48eaaceca21b3a2dbd23949d0a14b1456b..526c28ac17694a740b9dc78f4766e0738b6544dd 100644 (file)
@@ -12,6 +12,7 @@
        *}{if $field->getInputMode() !== null} inputmode="{$field->getInputMode()}"{/if}{*
        *}{if $field->getPlaceholder() !== null} placeholder="{$field->getPlaceholder()}"{/if}{*
        *}{if $field->getDocument()->isAjax()} data-dialog-submit-on-enter="true"{/if}{*
+       *}{foreach from=$field->getFieldAttributes() key='attributeName' item='attributeValue'} {$attributeName}="{$attributeValue}"{/foreach}{*
 *}>
 
 {if $field->isI18n()}
index 1ba672abaf55b9d65abb1afacf83d81f42d33d0e..638e156a1884ad6531d6d772a652a3b0dd8813de 100644 (file)
@@ -16,7 +16,10 @@ use wcf\util\UserUtil;
  * @package    WoltLabSuite\Core\System\Form\Builder\Field
  * @since      5.2
  */
-class EmailFormField extends AbstractFormField implements IAutoCompleteFormField, IAutoFocusFormField, ICssClassFormField, II18nFormField, IImmutableFormField, IInputModeFormField, IPatternFormField, IPlaceholderFormField {
+class EmailFormField extends AbstractFormField implements IAttributeFormField, IAutoCompleteFormField, IAutoFocusFormField, ICssClassFormField, II18nFormField, IImmutableFormField, IInputModeFormField, IPatternFormField, IPlaceholderFormField {
+       use TAttributeFormField {
+               getReservedFieldAttributes as private defaultGetReservedFieldAttributes;
+       }
        use TAutoCompleteFormField;
        use TAutoFocusFormField;
        use TCssClassFormField;
@@ -113,4 +116,17 @@ class EmailFormField extends AbstractFormField implements IAutoCompleteFormField
                        ));
                }
        }
+       
+       /**
+        * @inheritDoc
+        * @since       5.4
+        */
+       protected static function getReservedFieldAttributes(): array {
+               return array_merge(
+                       static::defaultGetReservedFieldAttributes(),
+                       [
+                               'maxlength',
+                       ]
+               );
+       }
 }