Orientação gerada a partir de informações públicas. Apenas para referência.
Um plugin Flutter projetado para entrada de números de telefone internacional sem interrupções, com formatação automática, validação em tempo real e seleção de país com localização integrada. Ele suporta múltiplas plataformas, incluindo Android, iOS, Web, macOS, Windows e Linux. O pacote simplifica o manuseio de diversos formatos de números de telefone entre países, aplicando máscaras inteligentemente e fornecendo uma interface amigável para seleção de códigos de país. Ideal para aplicativos que exigem registro global de usuários ou coleta de informações de contato.
Casos de uso
Registro de usuário internacional
Campos do formulário de contato
Aplicativos globais de mensagens
Configuração do perfil do usuário
Suporte multi-região
Principais recursos
Formatação automática de número de telefone
Validação em tempo real
Seleção de código do país
Suporte de localização
Compatibilidade multiplataforma
Mascaramento de entrada
Indicado para
Aplicativos voltados para públicos globais
Formulários que exigem validação de número de telefone
Desenvolvedores que precisam de internacionalização
Aplicações móveis e web
componentes de entrada centrados em UX
Considerações
Requer internet para atualizações de dados de país
Pode aumentar levemente o tamanho do pacote
Depende de arquivos de localização externos
Personalização limitada de componentes da interface
Necessita tratamento adequado de casos extremos em formatos internacionais
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
📱 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.