*}{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->getSuffix() !== null}
*}{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->getSuffix() !== null}
* @package WoltLabSuite\Core\System\Form\Builder\Field
* @since 5.2
*/
-abstract class AbstractNumericFormField extends AbstractFormField implements IAutoCompleteFormField, IAutoFocusFormField, ICssClassFormField, IImmutableFormField, IInputModeFormField, IMaximumFormField, IMinimumFormField, INullableFormField, IPlaceholderFormField, ISuffixedFormField {
+abstract class AbstractNumericFormField extends AbstractFormField implements IAttributeFormField, IAutoCompleteFormField, IAutoFocusFormField, ICssClassFormField, IImmutableFormField, IInputModeFormField, IMaximumFormField, IMinimumFormField, INullableFormField, IPlaceholderFormField, ISuffixedFormField {
+ use TAttributeFormField {
+ getReservedFieldAttributes as private defaultGetReservedFieldAttributes;
+ }
use TAutoCompleteFormField;
use TAutoFocusFormField;
use TCssClassFormField;
return parent::value($value);
}
+
+ /**
+ * @inheritDoc
+ * @since 5.4
+ */
+ protected static function getReservedFieldAttributes(): array {
+ return array_merge(
+ static::defaultGetReservedFieldAttributes(),
+ [
+ 'step',
+ ]
+ );
+ }
}