phonenumbers

Creator: coderz1093

Last updated:

Add to Cart

Description:

phonenumbers

phonenumbers #
Phone number validation and filed written in pure dart without any native dependency.








Package Status #

⛔️ The package is not production ready.
There might be some breaking changes over time, we'll try not to break too much but keep that in your mind.

Why...? #
Currently there are lots of packages available on pub.dev for working
with phone numbers (inputs, validators, etc...) However, most of them are using native libraries
like libphonenumber under the hood. While those libraries
are very well written implementations, they are not written natively for Flutter (yet). That means
flutter library maintainers are using certain communication mechanisms like platform channels or ffi
to communicate with those libraries. Additional abstraction layer of communication leads to increased
implementation complexity and increases points of failure.
This library however uses simplified dart-native implementation that doesn't require additional
communication layer and also works synchronously / meaning you are guaranteed to get near-instant
feedback (if it doesn't panic, I hope 🤞).
That said, I am not trying to convience you that this is the best phone number utility for
dart/flutter. It's just the library that got my job done during the time of writing my projects.
Getting Started #
Installation #

Add phonenumbers: ^1.0.0 dependency to "pubspec.yaml" file
Run [flutter] pub get to install package
Drink a cup of coffee

Enjoy #
Import phonenumbers library which exports useful classes like PhoneNumberField widget.
import 'package:phonenumbers/phonenumbers.dart';
copied to clipboard
Then you can build PhoneNumberField() widget wherever you want. It works like any other widgets.
class _MyPageState extends State<MyPage> {
final phoneNumberController = PhoneNumberEditingController();

@override
void dispose() {
phoneNumberController.dispose(); // to save environment
super.dispose();
}

Widget build(BuildContext context) {
return Column(
children: <Widget>[
PhoneNumberField(
controller: phoneNumberController,
decoration: InputDecoration(),
),
],
);
}
}
copied to clipboard
The documentation will be improved over time...
Contribute #
Found an issue, or maybe have a brilliant idea? Maybe our data is not valid.
Feel free to contribute if you want 😊

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.