Удаление выборочных символов при вводе в поле

В интерфейсах бывают специфичные поля, которые не принимает какие-то символы. Например, в телефонном номере или пин-коде не будет букв.
 
Если из лейбла (подписи к полю) очевидно, какие символы не подойдут, незачем разрешать их ввод. Лучше нагрузили компьютер уборкой лишнего и не просить человека что-то стирать.
 
Беспокоить сообщениями о неправильном вводе при этом не нужно. Какой шанс, что человек хотел ввести в номер букву? Подсказка «В номере телефона допустимы только цифры...» только отвлекает. Все знают, что букв там быть не должно: «Спасибо, кэп!»
 
Для таких полей в техзадании для разработчика пишут «нельзя ничего, кроме цифр, скобок, тире и дефисов». Это двусмысленно. Не реагировать на нажатия клавиш, или вводить, а потом стирать?
 
Предлагаю разрешать вводить всё, а после ввода неподходящего символа, сразу его стирать. Сначала кажется, что будет дёргающаяся ерунда. Но она даст пользователю обратную связь. Покажет, что и поле, и клавиатура работают. Ещё покажет, что человек ввёл что-то не то. Вряд ли он хотел писать буквы в телефонный номер, скорее промахнулся. Заметить стирающуюся букву проще, чем не введённую.

Поделиться
Отправить
2 комментария
Андрей 2018

Такое поведение всегда вызывало ощущение глючности интерфейса. Лучше бордер на секунду красным подсвечивать, но символы не вводить. Это даст понять, что всё работает и машина приняла команду, но не будет дерганий.

Кирилл Беляев 2018

Андрей, спасибо за приём! Я только не понял, как пользователь поймёт, что означает лизание бордера?

Андрей 2018

Красный бордер при некорректно введенных данных — привычное поведение многих интерфейсов. Только обычно это происходит при отправке формы или уходе из поля ввода. Я же предлагаю давать мгновенную обратную связь.

Подобное поведение есть в клавиатурных тренажерах: vse10.ru. В этом примере подсвечивают красным кнопку на виртуальной клавиатуре, поскольку она — локус внимания. Но у меня была раньше программа, в которой подсвечивалось на секунду поле. Было сразу понятно, что я допустил ошибку при вводе.

Было бы хорошо показывать подсказку, если человек несколько раз подряд пытается ввести запрещенные символы.

Кирилл Беляев 2018

А как по такой обратной связи понять, в чём именно проблема? Если опечатался и думал, что ввёл цифру, а на деле ввёл букву, то как понять, что случилось? Человек думает, что ввёл в поле телефона цифру, интерфейс показывает, что ввод — ошибка. Что делать?

Популярное