text_field_builder
A customizable and flexible Flutter package that helps you build text input fields, including password fields and PIN code inputs, using reusable models and styling components.
Features
FieldModel
to configure various properties of text fieldsPasswordField
widget with toggleable visibility and input validationPinCodeField
widget for entering secure codes (e.g., OTPs)- Easy management of input focus with
InputFocusHandler
- Country data list for use in forms (e.g., phone number inputs)
- Simple configuration for border radius and input field decorations
Installation
Add the following to your pubspec.yaml
:
dependencies:
text_field_builder: ^0.0.1
Then run:
flutter pub get
Getting Started
Basic TextField using FieldModel
final fieldModel = FieldModel(
labelText: 'Username',
hintText: 'Enter your username',
errorMsg: 'Username is required',
);
PasswordField
PasswordField(
controller: _passwordController,
labelText: 'Password',
hintText: 'Enter your password',
validator: (value) => value!.isEmpty ? 'Required' : null,
);
PinCodeField
PinCodeField(
onChanged: (value) {
print('PIN: $value');
},
);
Utility Classes
InputFocusHandler
Change focus between fields easily:
InputFocusHandler.changeFocusField(context, currentFocus, nextFocus);
MobileNumberInfo
Helper for formatting international numbers:
final info = MobileNumberInfo(
countryCode: '+1',
countryISOCode: 'US',
number: '1234567890',
);
print(info.completeNumber); // +11234567890
Customization
You can customize input decorations, keyboard types, actions, and much more through FieldModel
and widget parameters.
License
MIT License. See LICENSE
file for details.
Libraries
- app_search_field
- app_text_field
- app_text_form_field
- constants/widget_txt_const
- model/field_model
- otp_field/otp_pin_input_field
- password_field/normal_password_field_stream_builder
- password_field/password_field
- phone_field/intl_mobile_field
- phone_field/model/countries
- phone_field/model/mobile_number_info
- phone_field/phone_field
- styles/text_field_border_radius
- styles/text_field_style
- text_field_builder
- under_line_text_field
- utils/input_focus