Aus öffentlichen Paketdaten erstellte Orientierung.
Ein Flutter-Plugin, das für nahtlose internationale Telefonnummereingaben entwickelt wurde und automatische Formatierung, Echtzeit-Validierung sowie Landauswahl mit integrierter Lokalisierung bietet. Es unterstützt mehrere Plattformen wie Android, iOS, Web, macOS, Windows und Linux. Das Paket vereinfacht die Handhabung verschiedener Telefonnummerformate weltweit durch intelligente Maskenanwendung und bietet eine benutzerfreundliche Oberfläche zur Auswahl von Ländercodes. Ideal für Apps, die globale Benutzerregistrierungen oder Kontaktdaten erfassen müssen.
Anwendungsfälle
Internationale Benutzerregistrierung
Kontaktformular-Eingaben
Globale Messaging-Apps
Benutzerprofil-Einrichtung
Mehrfachregionen-Unterstützung
Hauptmerkmale
Automatische Telefonnummerformatierung
Echtzeit-Validierung
Landeskennzeichenauswahl
Lokalisierungssupport
Plattformübergreifende Kompatibilität
Eingabemaske
Geeignet für
Anwendungen für globale Zielgruppen
Formulare, die eine Überprüfung der Telefonnummer erfordern
Entwickler, die Internationalisierung benötigen
Mobile- und Webanwendungen
UX-fokussierte Eingabekomponenten
Hinweise
Benötigt Internet für Länderdatenaktualisierungen
Kann die Bundle-Größe leicht erhöhen
Hängt von externen Lokalisierungsdateien ab
Begrenzte Anpassung von Benutzeroberflächenkomponenten
Erforderliche angemessene Behandlung von Randfällen in internationalen Formatierungen
Original-README
Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.
📱 Phone Text Field
A comprehensive Flutter package for international phone number input with validation, formatting, and country selection. Perfect for apps requiring phone number collection with proper validation and beautiful UI.
// Using ProviderclassPhoneProviderextendsChangeNotifier{
PhoneNumber? _phoneNumber;
PhoneNumber? get phoneNumber => _phoneNumber;
voidupdatePhone(PhoneNumber phoneNumber) {
_phoneNumber = phoneNumber;
notifyListeners();
}
}
// In your widgetConsumer<PhoneProvider>(
builder: (context, phoneProvider, child) {
returnPhoneTextField(
onChanged: (phoneNumber) {
phoneProvider.updatePhone(phoneNumber);
},
);
},
)
🐛 Bug Fixes & Improvements
Version 1.0.0+ Fixes
✅ Controller Integration Issue (#2)
Problem: Controller property was commented out, causing integration issues with forms.
// Before (broken)// final TextEditingController? controller;// After (fixed)finalTextEditingController? controller;
✅ +1 Country Code Flag Switching (#3)
Problem: When editing US/Canada numbers, flag would incorrectly switch between countries.
Solution: Improved country selection logic to preserve originally selected country when multiple countries share the same dial code.
✅ Chinese Phone Number Validation (#4)
Problem: Chinese numbers were validated as 12 digits instead of 11.
Push to your fork: git push origin feature/amazing-feature
Open a Pull Request
📝 Development Setup
# Clone the repository
git clone https://github.com/MohamedAbd0/phone_text_field.git
cd phone_text_field
# Install dependencies
flutter pub get
# Run tests
flutter test# Run example appcd example
flutter run
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.