caseyryan / flutter_multi_formatter

A set of formatters for text and input fields. Not only it can format a phone number but also automatically detect a country dial code and the name of the country. It also can apply formatting for currencies e.g. you need to convert 100000 into a USD currency value representation. Add MoneyInputFormatter and you can get it e.g. like: $100,000.00 right on the fly or whatever you need. Just see the example of usage
https://pub.dev/packages/flutter_multi_formatter
Other
305 stars 75 forks source link

Wrong Czech Republic phoneMask #141

Closed HE-LU closed 1 year ago

HE-LU commented 1 year ago

Looking at the code, there is the following settings for the Czech Republic:

    {
      'country': 'Czech Republic',
      'countryRU': 'Чешская Республика',
      'internalPhoneCode': '420',
      'countryCode': 'CZ',
      'phoneMask': '+000 00 000 0000',
    },

The correct phone mask would be: 'phoneMask': '+000 000 000 000'

The completely same format should also apply to Slovakia.

caseyryan commented 1 year ago

Thanks. Fixed in 2.11.9

HansCraftsman commented 10 months ago

Здравствуйте, наблюдается проблема и с болгарскими номерами. Там есть 12 значные номера и маска там должна быть "+359(###)###-###". Может стоит переписать код основной библиотеки и применять маску если она может применяться, а если длина больше требуемой маски страны, то позволить ввод, но подставить универсальную маску на 12 цифр?

caseyryan commented 10 months ago

Здравствуйте, наблюдается проблема и с болгарскими номерами. Там есть 12 значные номера и маска там должна быть "+359(###)###-###". Может стоит переписать код основной библиотеки и применять маску если она может применяться, а если длина больше требуемой маски страны, то позволить ввод, но подставить универсальную маску на 12 цифр?

У этой проблемы есть 2 решения, котоыре уже присутствуют 1) PhoneInputFormatter содержит параметр allowEndlessPhone, вот он как раз и позволяет вводить телефон длиннее, чем существующая маска, при этом форматируя все остальное. Никаких универсальных масок не существует. У всех стран свои

2) Есть метод

PhoneInputFormatter.addAlternativePhoneMasks(
    countryCode: 'BR',
    alternativeMasks: [
    '+00 (00) 0000-0000',
    '+(00) 00000',
    '+00 (00) 00-0000',
    ],
);

Переписывать библиотеку ради болгарских номеров, я точно не буду