input_forms 0.0.4
input_forms: ^0.0.4 copied to clipboard
A comprehensive Flutter input_forms package providing pre-built, customizable form components for rapid application development. Includes email, password, date picker, and more form fields with built- [...]
๐ฏ Input Forms [Flutter Package] #
Supercharge Your Flutter Forms
Beautiful, validated, and customizable form fields for Flutter applications.
Table of Contents
- Overview
- Installation
- Features
- All Available Fields
- Usage
- Complete Example
- API Reference
- Platform Support
- Contributing
- License
Overview #
Input Forms is a comprehensive Flutter package providing pre-built, highly customizable form components for rapid application development. It includes all the essential fields you needโemail, password, date picker, dropdown, phone, file upload, location, signature, and moreโwith built-in validation and Material Design 3 support.
Why Choose Input Forms? #
- ๐จ Beautiful by Default: Material Design 3 compliant, customizable themes
- โจ Ready to Use: Pre-built components for common form scenarios
- ๐ Built-in Validation: Comprehensive validation out of the box
- ๐ฎ Developer Friendly: Intuitive API, extensive documentation
- ๐ฑ Cross Platform: Android, iOS, Web, Windows, macOS, Linux
- ๐ฅ Performance Focused: Optimized for smooth performance
Installation #
Add to your pubspec.yaml
:
dependencies:
input_forms: ^0.0.4
Then run:
flutter pub get
Quick Start #
import 'package:input_forms/input_forms.dart';
// Use any form field:
EmailField(
controller: emailController,
label: 'Email Address',
)
Features #
- All fields are Material Design 3 ready
- Built-in validation for all fields
- Highly customizable (labels, icons, error messages, etc.)
- Easy integration into any Flutter app
- Cross-platform support
All Available Fields #
Field | Widget | Description |
---|---|---|
๐ง Email | EmailField |
Validated email input with format checking |
๐ Password | PasswordField |
Secure password input with visibility toggle |
โ Confirm Password | ConfirmPasswordField |
Password confirmation with matching validation |
๐ค Username | UsernameField |
Username input with length and custom validation |
๐ Date Picker | DatePickerField |
Date selection with calendar picker |
๐ DOB Picker | DOBField |
Date of birth picker with age-appropriate ranges |
๐ Dropdown | DropdownField<T> |
Generic dropdown with custom data support |
๐ Searchable Dropdown | SearchableDropdownField<T> |
Dropdown with search, multi-select, async, and more |
๐ฑ Phone | PhoneField |
International phone number input with country picker |
๐ Location | LocationField |
Geographic input with map, search, and geolocation |
๐ค File Upload | FileUploadField |
File upload with preview, cloud, and security options |
โ๏ธ Signature | SignatureField |
Digital signature capture |
Usage #
Import the package:
import 'package:input_forms/input_forms.dart';
Example: Login Form #
class LoginForm extends StatefulWidget {
@override
_LoginFormState createState() => _LoginFormState();
}
class _LoginFormState extends State<LoginForm> {
final _formKey = GlobalKey<FormState>();
final _emailController = TextEditingController();
final _passwordController = TextEditingController();
@override
Widget build(BuildContext context) {
return Form(
key: _formKey,
child: Column(
children: [
EmailField(
controller: _emailController,
label: 'Email',
),
const SizedBox(height: 16),
PasswordField(
controller: _passwordController,
label: 'Password',
),
const SizedBox(height: 24),
ElevatedButton(
onPressed: _submitForm,
child: Text('Login'),
),
],
),
);
}
void _submitForm() {
if (_formKey.currentState!.validate()) {
// Process form
}
}
}
Complete Example: All Fields #
Form(
child: Column(
children: [
EmailField(
controller: emailController,
label: 'Email',
),
PasswordField(
controller: passwordController,
label: 'Password',
),
ConfirmPasswordField(
passwordController: passwordController,
confirmController: confirmPasswordController,
),
UsernameField(
controller: usernameController,
label: 'Username',
),
DatePickerField(
controller: dateController,
label: 'Date',
),
DOBField(
controller: dobController,
label: 'Date of Birth',
),
DropdownField<String>(
label: 'Country',
items: ['India', 'USA', 'UK'],
value: selectedCountry,
onChanged: (val) => setState(() => selectedCountry = val),
itemLabel: (item) => item,
),
SearchableDropdownField<String>(
label: 'City',
items: ['Chennai', 'Bangalore', 'Delhi'],
value: selectedCity,
onChanged: (val) => setState(() => selectedCity = val),
itemLabel: (item) => item,
),
PhoneField(
controller: phoneController,
label: 'Phone',
),
LocationField(
label: 'Location',
// See API Reference for advanced options
),
FileUploadField(
// See API Reference for advanced options
),
SignatureField(),
],
),
)
API Reference #
EmailField #
Validated email input with built-in format checking and error messages.
PasswordField #
Password input with visibility toggle and custom validation.
ConfirmPasswordField #
Ensures password and confirmation match.
UsernameField #
Username input with length and custom validation.
DatePickerField #
Date selection with calendar picker and formatting.
DOBField #
Date of birth picker with age-appropriate ranges.
DropdownField #
Generic dropdown with custom data, item labels, and flexible binding.
SearchableDropdownField #
Dropdown with search, async loading, multi-select, custom item builder, and more.
PhoneField #
International phone number input with country picker, flag, and validation.
LocationField #
Geographic input with map, search, geolocation, and advanced configuration (offline, multi-select, favorite locations, etc.).
FileUploadField #
File upload with preview, cloud storage, security, virus scanning, and advanced file processing options.
SignatureField #
Digital signature capture for forms and agreements.
Platform Support #
Platform | Supported |
---|---|
Android | โ |
iOS | โ |
Web | โ |
Windows | โ |
macOS | โ |
Linux | โ |
Contributing #
We love contributions! Here's how you can help:
- ๐ Find a Bug? Open an issue!
- ๐ฏ Missing a Feature? Request it!
- ๐จ Want to Contribute? Submit a pull request!
License #
MIT License ยฉ 2025 Kanagaraj.M
Made with โค๏ธ by Kanagaraj.M | NoCorps
๐ป Usage #
Complete Form Example #
class LoginForm extends StatefulWidget {
@override
_LoginFormState createState() => _LoginFormState();
}
class _LoginFormState extends State<LoginForm> {
final _formKey = GlobalKey<FormState>();
final _emailController = TextEditingController();
final _passwordController = TextEditingController();
@override
Widget build(BuildContext context) {
return Form(
key: _formKey,
child: Column(
children: [
EmailField(
controller: _emailController,
label: 'Email',
decoration: InputDecoration(
prefixIcon: Icon(Icons.email),
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(12),
),
),
),
const SizedBox(height: 16),
PasswordField(
controller: _passwordController,
label: 'Password',
decoration: InputDecoration(
prefixIcon: Icon(Icons.lock),
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(12),
),
),
),
const SizedBox(height: 24),
ElevatedButton(
onPressed: _submitForm,
child: Text('Login'),
),
],
),
);
}
void _submitForm() {
if (_formKey.currentState!.validate()) {
// Process form
}
}
}
๐ฏ Platform Support #
Platform | Support |
---|---|
Android | โ |
iOS | โ |
Web | โ |
Windows | โ |
macOS | โ |
Linux | โ |
๐ค Contributing #
We love contributions! Here's how you can help:
- ๐ Find a Bug? Open an issue!
- ๐ฏ Missing a Feature? Request it!
- ๐จ Want to Contribute? Submit a pull request!
๐ Project Stats #
Metric | Value |
---|---|
Latest Update | 2025-07-21 15:26:16 UTC |
Maintained By | @KANAGARAJ-M |
Version | 0.0.3 (Active Development) |
๐ Resources #
๐ License #
MIT License
Copyright (c) 2025 Kanagaraj.M
๐ Keywords #
flutter form builder, material design forms, flutter input validation, flutter form fields, flutter UI components, form validation, input widgets, flutter forms, dart forms, form components, mobile forms, cross-platform forms, form validation package, input fields, form elements, input forms, form fields, input fields
Made with โค๏ธ by Kanagaraj.M | NoCorps
โญ๏ธ Star us on GitHub โ it motivates us a lot!