Input Formatter plugin for Flutter
A Flutter package that provides customizable input formatting for text fields. Easily enforce specific patterns and separators, ensuring consistent and user-friendly text input experiences. Ideal for formatting dates, numbers, or any other structured input, this package enhances your app's data entry interface.
This package extends pattern_formatter, adding enhanced functionality for precise and flexible numeric input handling. Key features include:
• Extended Decimal Precision: Supports up to 18 decimal digits, ensuring high accuracy for financial or scientific applications.
• Precision Preservation with Decimal: Uses the Decimal library to prevent unintended rounding of double values.
• Input Length Control: Limits the maximum number of input characters, ensuring consistency and avoiding overflow.
• Original Value Extraction: Provides a method to convert formatted values back to the raw, original numeric input.
• Locale-Specific Custom Formatting: Allows custom formatting rules based on locale, making the package versatile across regional formats.
Getting Started
Add pubspec.yaml
dependencies:
text_input_formatter: ^1.0.0
Usage
import 'package:text_input_formatter/text_input_formatter.dart';
Numeric Format
// defined reusable formatter
final formatter = NumericFormatter(
allowFraction: true,
fractionDigits: 5,
thousandSeparator: ' ',
);
// ...
TextField(
inputFormatters: [formatter],
onChanged: (value) {
// use the formatter to parse the original value
final originalValue = formatter.original(value);
print(originalValue);
}
),
Date Format
TextField(
decoration: InputDecoration(
hintText: DatePattern.yyyy_MM_dd.value,
),
inputFormatters: [
DateFormatter(
separator: DateSeparator.dash,
pattern: DatePattern.yyyy_MM_dd,
),
],
)
Credit Card
TextField(
inpuFormatters: [
CreditCardFormatter(),
],
)