FOtpField class

A one-time password input field.

It is a FormField and therefore can be used in a Form widget.

To add a divider in the middle:

FOtpField(
  control: .managed(
    children: [FOtpItem(), FOtpItem(), FOtpItem(), FOtpDivider(), FOtpItem(), FOtpItem(), FOtpItem()],
  ),
)

See:

Inheritance
Mixed-in types

Constructors

FOtpField({FOtpFieldControl control = const .managed(), FOtpFieldStyleDelta style = const .context(), FFieldBuilder<FOtpFieldStyle> builder = defaultBuilder, Widget? label, Widget? description, TextMagnifierConfiguration? magnifierConfiguration, Object groupId = EditableText, FocusNode? focusNode, TextInputType? keyboardType = .text, TextInputAction? textInputAction = .done, TextCapitalization textCapitalization = .none, TextDirection? textDirection, bool autofocus = false, WidgetStatesController? statesController, bool readOnly = false, GestureTapCallback? onTap, TapRegionCallback? onTapOutside, bool onTapAlwaysCalled = false, VoidCallback? onEditingComplete, ValueChanged<String>? onSubmit, AppPrivateCommandCallback? onAppPrivateCommand, List<TextInputFormatter>? inputFormatters, bool enabled = true, bool? ignorePointers, bool enableInteractiveSelection = true, TextSelectionControls? selectionControls, DragStartBehavior dragStartBehavior = .start, MouseCursor? mouseCursor, Iterable<String>? autofillHints = const [AutofillHints.oneTimeCode], String? restorationId, bool stylusHandwritingEnabled = true, bool enableIMEPersonalizedLearning = true, ContentInsertionConfiguration? contentInsertionConfiguration, EditableTextContextMenuBuilder? contextMenuBuilder = FTextField.defaultContextMenuBuilder, bool canRequestFocus = true, UndoHistoryController? undoController, FormFieldSetter<String>? onSaved, VoidCallback? onReset, FormFieldValidator<String>? validator, AutovalidateMode autovalidateMode = .disabled, String? forceErrorText, Widget errorBuilder(BuildContext context, String message) = FFormFieldProperties.defaultErrorBuilder, Key? formFieldKey, Key? key})
Creates an FOtpField.

Properties

autofillHints → Iterable<String>?
A list of strings that helps the autofill service identify the type of this text input.
final
autofocus → bool
Whether this text field should focus itself if nothing else is already focused. Defaults to false.
final
autovalidateMode → AutovalidateMode
Used to enable/disable this form field's auto validation and update its error text.
final
builder → FFieldBuilder<FOtpFieldStyle>
The builder used to decorate the text-field. It should always use the given child.
final
canRequestFocus → bool
Determine whether this text field can request the primary focus.
final
contentInsertionConfiguration → ContentInsertionConfiguration?
Configuration of handler for media content inserted via the system input method.
final
contextMenuBuilder → EditableTextContextMenuBuilder?
Builds the text selection toolbar when requested by the user.
final
control → FOtpFieldControl
Defines how the OTP field's state is controlled.
final
description → Widget?
The description.
final
dragStartBehavior → DragStartBehavior
Determines the way that drag start behavior is handled. By default, the drag start behavior is DragStartBehavior.start.
final
enabled → bool
Whether the form is able to receive user input.
final
enableIMEPersonalizedLearning → bool
Whether to enable that the IME update personalized data such as typing history and user dictionary data.
final
enableInteractiveSelection → bool
Whether to enable user interface affordances for changing the text selection. Defaults to true.
final
errorBuilder → Widget Function(BuildContext context, String message)
The builder for errors displayed below the description. Defaults to displaying the error message.
final
focusNode → FocusNode?
Defines the keyboard focus for this FTextField.
final
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.
final
formFieldKey → Key?
The key to use for the internal FormField.
final
groupId → Object
The group identifier for the TextFieldTapRegion of this text field.
final
hashCode → int
The hash code for this object.
no setterinherited
ignorePointers → bool?
Determines whether this widget ignores pointer events. Defaults to null, and when null, does nothing.
final
inputFormatters → List<TextInputFormatter>?
Optional input validation and formatting overrides.
final
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
keyboardType → TextInputType?
The type of keyboard to use for editing the text. Defaults to TextInputType.text.
final
label → Widget?
The label.
final
magnifierConfiguration → TextMagnifierConfiguration?
The configuration for the magnifier of this text field.
final
mouseCursor → MouseCursor?
The cursor for a mouse pointer when it enters or is hovering over the widget.
final
onAppPrivateCommand → AppPrivateCommandCallback?
This is used to receive a private command from the input method.
final
onEditingComplete → VoidCallback?
Called when the user submits editable content (e.g., user presses the "done" button on the keyboard).
final
onReset → VoidCallback?
An optional method to call when the form field is reset via FormFieldState.reset.
final
onSaved → FormFieldSetter<String>?
An optional method to call with the final value when the form is saved via FormState.save.
final
onSubmit → ValueChanged<String>?
Called when the user indicates that they are done editing the text in the field.
final
onTap → VoidCallback?
Called for the first tap in a series of taps.
final
onTapAlwaysCalled → bool
Whether onTap should be called for every tap.
final
onTapOutside → TapRegionCallback?
Called for each tap down that occurs outside of the TextFieldTapRegion group when the text field is focused.
final
readOnly → bool
Whether the text can be changed. Defaults to false.
final
restorationId → String?
Restoration ID to save and restore the state of the text field.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
selectionControls → TextSelectionControls?
Optional delegate for building the text selection handles.
final
statesController → WidgetStatesController?
Represents the interactive "state" of this widget in terms of a set of WidgetStates, including WidgetState.disabled, WidgetState.hovered, WidgetState.error, and WidgetState.focused.
final
style → FOtpFieldStyleDelta
The style.
final
stylusHandwritingEnabled → bool
Whether this input supports stylus handwriting, where the user can write directly on top of a field.
final
textCapitalization → TextCapitalization
Configures how the platform keyboard will select an uppercase or lowercase keyboard. Defaults to TextCapitalization.none.
final
textDirection → TextDirection?
The directionality of the text. Defaults to the ambient Directionality, if any.
final
textInputAction → TextInputAction?
The type of action button to use for the keyboard.
final
undoController → UndoHistoryController?
Controls the undo state.
final
validator → FormFieldValidator<String>?
An optional method that validates an input. Returns an error string to display if the input is invalid, or null otherwise.
final

Methods

createElement() → StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() → State<FOtpField>
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.
override
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

Static Properties

defaultInputFormatters → List<TextInputFormatter>
The default input formatters that restrict input to digits only.
final

Static Methods

defaultBuilder(BuildContext context, FOtpFieldStyle style, Set<FTextFieldVariant> variants, Widget child) → Widget
The default builder that returns the child as-is.