bharathcs / pe

0 stars 0 forks source link

Overzealous validation for phone numbers. #5

Open bharathcs opened 2 years ago

bharathcs commented 2 years ago

Overzealous validation for phone numbers.

This app does not support splitting of phone numbers into sections (e.g. area code / country code) with '+' or brackets. Readable chunks cannot be made by separating with spaces.

image.png

image.png

image.png

Steps to recreate:

Try editing with any of the inputs.

nus-pe-bot commented 2 years ago

Team's Response

Since it is part of our use cases that we want to allow Telemarketers to copy and paste phone numbers from the application directly, we want to ensure that the format of the number is valid in general for all possible calling applications. Therefore, we intended the phone numbers to only consists of numbers. Hence, this is not a feature flaw.

Items for the Tester to Verify

:question: Issue response

Team chose [response.Rejected]

Reason for disagreement: I must disagree with this. The team responded that the number must be valid for all possible calling applications. I am willing to accept that "(home)" or "(office)" in that case should not be allowed.

However, brackets, spaces, dash and + increase readability for humans and do not hinder any "possible calling applications" as all manner of operating systems, phone systems and telecomms software support these as visual separators. This is a valid part of the phone number format as set out by the IETF, and should be an expected part of the syntax. The only situation in which these visual separators are not used are in "tel:XXXX" URIs (the url links that are clicked on to activate the dialer), but that does not apply here.

Further more, telemarketers often will have to dial extensions when calling phone numbers to an office for example, or may need to call international numbers. These are definitely common use cases, and extensions in particular seem to have no support in this application. A common way to save phone numbers with extensions in Android, iOS, and even older legacy systems is to use the comma ',' or the letter 'p' for a 2-3 second pause and a semicolon ';' or the letter 'w' for a hard pause (to let the user confirm the extension input). These are critical in dialing many phone numbers with extensions in them and should not have been overlooked.

E.g. some the many sites that show this use case: