Ввод по маске
Каждый мамкин фронтендер знает: если в форме есть поле телефона, ставим плагин jQuery под названием Masked Input и не паримся. С ним нельзя ввести буквы, скобки, дефисы и прочий мусор.
Но мамкин фронтендер не знает: если вставить в поле “89623289677” (скажем, из Экселя или менеджера паролей), то всратый плагин поместит восьмерку после +7 и отбросит последнюю цифру. Результат будет как на второй картинке.
То есть всего-то испортили данные, но никого это не волнует. Подумаешь, не придет смс, не дозвонится курьер, не выдадут посылку. Фронтендеру не до этих мелочей.
Недаром говорят: благие намерения ведут в ад. Хотели сделать удобно на фронте, в итоге добавили баг.
Нашли ошибку? Выделите мышкой и нажмите Ctrl/⌘+Enter
Олег, 3rd Nov 2023, link
Хорошая статья и хорошее замечание.
Я вам больше скажу - зачастую в этих формах еще и невозможно задать добавочный номер, для связи с человеком, отвечающим за закупки, т.е. приходится оставлять общий номер и указывать добавочный в комментариях (если они есть).
Маска в форме ввода должна работать только как “форматтер”, а не как строгая форма обозначения номера. Тоже самое касается и e-mail - там вообще согласно RFC2822 какие только адреса не допускаются.