intl_phone_number_input 0.3.0
intl_phone_number_input: ^0.3.0 copied to clipboard
A simple and customizable flutter package on International Phone Number Input.
Intl Phone Number Input #
A simple and customizable flutter package for international phone number input
What's new #
* Improved loading time for country list
* Added support for RTL languages to be presented in the correct alignment
* Added new selector mode dropdown, bottom sheet and dialog
* Added ignoreBlank boolean to avoid input error message when left blank
* As You Type Formatter: The Package now formats the input to it's selected national format
* You can create a PhoneNumber object from PhoneNumber.getRegionInfoFromPhoneNumber(String phoneNumber, [String isoCode]);
* You can now parse phoneNumber by calling PhoneNumber.getParsableNumber(String phoneNumber, String isoCode) or `PhoneNumber Reference`.parseNumber()
* Custom list of countries e.g. ['NG', 'GH', 'BJ' 'TG', 'CI']
String phoneNumber = '+234 500 500 5005';
PhoneNumber number = await PhoneNumber.getRegionInfoFromPhoneNumber(phoneNumber);
String parsableNumber = number.parseNumber();
`controller reference`.text = parsableNumber
Note #
PhoneNumber.getRegionInfoFromPhoneNumber(String phoneNumber, [String isoCode])
Could throw an Exception if the phoneNumber isn't recognised its a good pattern to pass the country's isoCode or have '+' at the beginning of the string
Usage #
Constructors #
s/n | Constructor |
---|---|
1 | InternationalPhoneNumberInput |
2 | InternationalPhoneNumberInput.withCustomDecoration |
3 | InternationalPhoneNumberInput.withCustomBorder |
Available Parameters #
InternationalPhoneNumberInput({
Key key,
@required this.onInputChanged,
this.onInputValidated,
this.focusNode,
this.textFieldController,
this.onSubmit,
this.keyboardAction,
this.countries,
this.textStyle,
this.inputBorder,
this.inputDecoration,
this.initialCountry2LetterCode = 'NG',
this.hintText = 'Phone Number',
this.autoValidate = false,
this.formatInput = true,
this.errorMessage = 'Invalid phone number',
this.selectorType,
this.ignoreBlank = false,
this.locale,
});
Parameter | Datatype | Initial Value | Default [1] | Decoration [2] | CustomBorder [3] |
---|---|---|---|---|---|
onInputChange | function(PhoneNumber) | null | ✔️ | ✔️ | ✔️ |
onInputValidated | function(string) | null | ✔️ | ✔️ | ✔️ |
focusNode | FocusNode | null | ✔️ | ✔️ | ✔️ |
textFieldController | TextEditingController | TextEditingController() | ✔️ | ✔️ | ✔️ |
onSubmit | Function() | null | ✔️ | ✔️ | ✔️ |
keyboardAction | TextInputAction | null | ✔️ | ✔️ | ✔️ |
countries | List | null | ✔️ | ✔️ | ✔️ |
textStyle | TextStyle | null | ✔️ | ✔️ | ✔️ |
inputBorder | InputBorder | null | ✔️ | ❌ | ✔️ |
inputDecoration | InputDecoration | null | ✔️ | ✔️ | ❌ |
initialCountry2LetterCode | String | NG | ✔️ | ✔️ | ✔️ |
hintText | String | Phone Number | ✔️ | ❌ | ✔️ |
autoValidate | boolean | true | ✔️ | ✔️ | ✔️ |
formatInput | boolean | true | ✔️ | ✔️ | ✔️ |
errorMessage | String | Invalid phone number | ✔️ | ❌ | ✔️ |
selectorType | PhoneInputSelectorType | null | ✔️ | ✔️ | ✔️ |
ignoreBlank | boolean | false | ✔️ | ✔️ | ✔️ |
locale | String | null | ✔️ | ✔️ | ✔️ |
Contributions #
If you encounter any problem or the library is missing a feature feel free to open an issue. Feel free to fork, improve the package and make pull request.
Dependencies #
Credits #
A special thanks to niinyarko