SBBTextInputFormField class

The SBB TextInputFormField wraps SBBTextInput in a FormField.

This widget combines the SBBTextInput with form field functionality, allowing integration with Flutter's Form API for validation and state management.

Overview

The SBBTextInputFormField is a convenience widget that wraps a SBBTextInput inside a FormField. This enables:

  • Form validation through validator
  • Automatic form submission handling
  • Integration with FormState methods
  • State persistence through onSaved

Most parameters are directly forwarded to the underlying SBBTextInput. See SBBTextInput for detailed documentation on text input behavior.

Form Integration

final _formKey = GlobalKey<FormState>();

Form(
  key: _formKey,
  child: SBBTextInputFormField(
    decoration: SBBInputDecoration(
      label: 'Username',
    ),
    validator: (value) {
      if (value?.isEmpty ?? true) {
        return 'Username is required';
      }
      return null;
    },
    onSaved: (value) {
      // Handle saved value
    },
  ),
)

See also:

Inheritance
Implementers

Constructors

SBBTextInputFormField({Key? key, TextEditingController? controller, Object groupId = EditableText, SBBInputDecoration? decoration, FocusNode? focusNode, TextInputType? keyboardType, TextInputAction? textInputAction, TextCapitalization textCapitalization = .none, bool readOnly = false, bool showCursor = true, bool autofocus = false, String obscuringCharacter = '•', bool obscureText = false, bool autocorrect = true, bool enableSuggestions = true, int? maxLines = 1, int? minLines, bool expands = false, bool selectAllOnFocus = false, List<TextInputFormatter>? inputFormatters, bool? ignorePointers, Brightness? keyboardAppearance, bool enableInteractiveSelection = true, GestureTapCallback? onTap, bool onTapAlwaysCalled = false, TapRegionCallback? onTapOutside, TapRegionUpCallback? onTapUpOutside, ScrollController? scrollController, Iterable<String>? autofillHints, TextStyle? inputTextStyle, WidgetStateProperty<Color?>? inputForegroundColor, bool? enableClearButton, String? initialValue, ValueChanged<String>? onChanged, ValueChanged<String>? onFieldSubmitted, bool enabled = true, String? forceErrorText, FormFieldSetter<String>? onSaved, FormFieldValidator<String>? validator, FormFieldErrorBuilder? errorBuilder, Widget builder(FormFieldState<String>)?, AutovalidateMode? autovalidateMode, String? restorationId})

Properties

autovalidateMode → AutovalidateMode
Used to enable/disable this form field auto validation and update its error text.
finalinherited
builder → FormFieldBuilder<String>
Function that returns the widget representing this form field.
finalinherited
controller → TextEditingController?
Controls the text being edited.
final
enabled → bool
Whether the form is able to receive user input.
finalinherited
errorBuilder → FormFieldErrorBuilder?
Function that returns the widget representing the error to display.
finalinherited
forceErrorText → String?
An optional property that forces the FormFieldState into an error state by directly setting the FormFieldState.errorText property without running the validator function.
finalinherited
hashCode → int
The hash code for this object.
no setterinherited
initialValue → String?
An optional value to initialize the form field to, or null otherwise.
finalinherited
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
onChanged → ValueChanged<String>?
Called when the user initiates a change to the SBBTextInput's value: when they have inserted or deleted text, or when the form is reset.
final
onReset → VoidCallback?
An optional method to call when the form field is reset via FormFieldState.reset.
finalinherited
onSaved → FormFieldSetter<String>?
An optional method to call with the final value when the form is saved via FormState.save.
finalinherited
restorationId → String?
Restoration ID to save and restore the state of the form field.
finalinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
validator → FormFieldValidator<String>?
An optional method that validates an input. Returns an error string to display if the input is invalid, or null otherwise.
finalinherited

Methods

createElement() → StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() → FormFieldState<String>
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() → List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) → String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String
Returns a one-line detailed description of the object.
inherited
toStringShort() → String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited