InputField class

A customizable text input field with label and validation support.

Provides a consistent styled text field with optional label above, prefix/suffix icons, and form validation. Supports read-only mode with different styling.

Example:

InputField(
  label: 'Username',
  hintText: 'Enter username',
  controller: usernameController,
  validator: (value) => value?.isEmpty ?? true ? 'Required' : null,
)
Inheritance

Constructors

InputField({Key? key, String? label, String? hintText, String? labelText, dynamic onChanged(String)?, TextEditingController? controller, bool? filled = true, bool obscureText = false, bool readOnly = false, int? maxLength, Color? fillColor, InputBorder? inputBorder, TextInputType? textInputType, TextInputAction? textInputAction, Widget? prefixIcon, Widget? suffixIcon, String? validator(String?)?})
Creates a customizable input field.
const

Properties

controller TextEditingController?
Controller for the text field.
final
fillColor Color?
Background color when filled is true.
final
filled bool?
Whether the field has a filled background.
final
hashCode int
The hash code for this object.
no setterinherited
hintText String?
Placeholder text inside the field.
final
inputBorder InputBorder?
Border style for the input field.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
label String?
Optional label displayed above the field.
final
labelText String?
Label text shown inside the field decoration.
final
maxLength int?
Maximum number of characters allowed.
final
obscureText bool
Whether to hide the input text (for passwords).
final
onChanged → dynamic Function(String)?
Callback when the text changes.
final
prefixIcon Widget?
Icon displayed at the start of the field.
final
readOnly bool
Whether the field is read-only.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
suffixIcon Widget?
Icon or widget displayed at the end of the field.
final
textInputAction TextInputAction?
Keyboard action button type.
final
textInputType TextInputType?
Keyboard type for the input.
final
validator String? Function(String?)?
Validation function for form validation.
final

Methods

build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
override
createElement() StatelessElement
Creates a StatelessElement to manage this widget's location in the tree.
inherited
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