Как вывести ошибку при подтверждение пароля?

Прекратите спрашивать с меня подтверждение / Хабр

Задрало. Настолько плотно прижилась кругом эта дрянь, что и не встретить уже человеческого отношения к себе, как к пользователю. Дублирование элемента подразумевает существенную важность вводимой в него информации. Что такого важного в пароле? Что самое страшное случится, если при регистрации ввести его неверно? Коллапс, повсеместный конец света, газа и горячей воды? С учётом того, что пароль обычно присылают на указанный e-mail, — ничего страшного: ошибся, получился плохой — поменяю, лень менять — найду в письме. Не прислали — всегда могу сменить, был бы исправный e-mail. Видели ли вы случаи дублирования полей ввода иной информации? «Имя / Имя», «О себе / О себе». Не встречалось?.. Ах да — e-mail. Ещё один пережиток и традиция, но даже он важнее пароля. Указать неверный e-mail гораздо более чревато, нежели придумать «некрасивый» пароль. Но требовать вводить его дважды — ещё больший бред, нежели пароль. Тут нужно чуть свернуть с темы пароля и коснуться дублирования на примере e-mail. Давно ли вы вводили последний раз основной e-mail руками? Если разработчик формы не стал мудрствовать лукаво и дал полю формы «стандартное» имя «email» — адрес наверняка подскажет браузер. Даже если ввели руками, вводите ли второй раз руками? Повышается ли внимательность ввода при дубле? Наоборот: вводишь и материшь разработчика, его родственников и канарейку. Думаешь: «ладно, вобью быстро руками» и тут же опечатываешься, вводя второй раз. Знакомо? Потрачено время, нервы, толку — ноль. Что пишет тебе форма «повышенной юзабильности» когда значения дублированных полей не совпали? Правильно — «не совпадает». Удивила, блин. Помогла. Вот теперь сиди, ищи где и чего ты не так вбил. Где правильное значение? Где опечатка? Нашёл? Вбивай по-новой, или копируй правильный вариант. В e-mail ещё можно разглядеть ошибку, а пароль они скрыли, заботясь обо мне — вбивай оба снова, авось рука не дрогнет. Пароль скрывают. Кругом шпионы, всем страшно нужны мои пароли. Хорошо, подкормим паранойю и оставим скрытие пароля по умолчанию, дабы не нервировать непривычным поведением годами выдрессированного пользователя. Но дайте же мне увидеть, что я ввёл, если у меня за спиной никто не стоит и пять камер не направлены мне в монитор! Чего хотят от меня добиться, делая две вещи: скрывая вводимое значение и предлагая вводить его дважды? Улучшить сложность пароля? Чёрта с два. Перед человеком ставят задачу ввести сложную, а я надеюсь вы используете сложные пароли, последовательность. Вслепую. Дважды. Подготовка к сапёрному ремеслу, не иначе. Придумать в такой ситуации сложный пароль нереально. Вернее, придумать — реально более чем, повторить и запомнить нереально. Что вынуждает либо вводить давно придуманный и используемый пароль, либо придумывать его в ином месте — например, текстовом редакторе — и копировать в поле. Ну, либо пользоваться менеджером паролей и копировать оттуда, в два места. Разработчики формы проверяют моё умение копировать текст в поля? Помогло скрытие? Нет, набивали в редакторе и копировали. Увеличилась сложность? Нет, вбивал вслепую попроще, чтобы не ошибиться. Хорошо, может таким образом повышается внимательность при вводе пароля? Ну да, когда ты вводишь его с третьего раза — поневоле будешь внимателен и пару раз сотрёшь наполовину введённое, чтобы не увидеть снова гадкую надпись про несовпадение полей. А для чего внимательность? Чёрт подери, это всего лишь пароль! Моё имя и список увлечений важнее! Ни одна из предполагаемых выгод не оправдалась. Фарс. «Как у всех». В итоге, на совершенно некритичную вещь можно потратить до нескольких минут и закончить регистрацию не в довольном расположении духа, предвкушая выгоду от сервиса, а чертыхаясь и проклиная всё на свете, пять раз задумавшись, надо ли оно тебе и какой идиот это делал. Много ли нужно, чтобы кардинально изменить ситуацию? Нет: 1. убрать дублирование поля; 2. дать возможность увидеть введённое значение. Всё! Никаких нервов, сложные пароли, довольные процедурой регистрации пользователи. Это же очень просто, даже работы становится чуть меньше — не нужно сверять два значения. Товарищи, думайте о пользователях. Тестируйте формы на данных, отличных от «111» и «222», вам же самим потом подобным пользоваться.Благодарю, перенёс в пользовательские интерфейсы.
91

7,5k


91

Жизнь — это движение! А тестирование — это жизнь 🙂

Пошла регаться на портал госуслуг. Заполняешь инфу о себе, а потом придумываешь пароль. Хороший пароль — это фраза. Например, «Шла Саша по шоссе». И запомнить легко, и подобрать сложно. Набираю такой пароль, повторяю его… — Введенные пароли не совпадают — Снова ввожу «повторение пароля» — Введенные пароли не совпадают — о_О Пробую и так, и сяк. Стерла и снова ввела первый пароль, потом второй. Тут сидящий рядом муж замечает — «Так у тебя даже длина разная!». Я смотрю на экран, стираю первое поле и начинаю снова вводить. Вот для скриншота ввела «Раз два три»: Первое поле — при вводе пробела звездочка в поле появляется и тут же пропадает (запретили ввод, походу). Второе поле — пробел не режется. Поэтому пароль получается длиннее:

Вводишь одно и то же, но значения отличаются по длине

Вот тебе и проверка! Во-первых, зачем вообще запрещать какие-то символы в пароле? Тебе, наоборот, лучше — пароль сложнее. При этом как пользователю узнать, что у него что-то порезалось? Пароль же скрыт под звездочками. Я даже не вижу, что символ «пропал»… Во-вторых, если ставить проверки, то везде: — при регистрации в обоих полях ввода пароля; — при авторизации; В данном случае продолбали второе поле. Это как раз из серии «делать втупую» — аналитик сказал вырезать пробелы в пароле, разработчик убрал. Пробелы в поле «пароль». Ровно что сказали. А тестировщик тоже проверил ровно то, что написано в ТЗ. Но просто проверить задачу нельзя. Надо покопать вокруг. На что еще повлияет? Так так так, хотим вырезать пробелы. А где вообще вводится пароль? О, тут два поля, а второе сделали? Нет? Reopen, дорабатываем. А на авторизации? Нет? Надо доделать, вы что! Это пользователь зарегается, а войти потом не сможет! Потому что откуда ему знать, что при регистрации форма вырезала пробелы? В общем, давайте оформим по шаблону: ***********************************************************************

При регистрации с пробелом в пароле ошибка «Данные не совпадают»

Шаги для воспроизведения

  1. Открыть регистрацию на госуслугах — https://esia.gosuslugi.ru/registration/
  2. Заполнить ФИО, телефон и емейл
  3. Ввести пароль с пробелом в оба поля, например: «Раз два три»
Результат
В поле «Пароль» пробелы вырезались, а в поле «Подтвердите пароль» — нет. В итоге разная длина и ошибка «Пароли не совпадают». См рис «Ошибка пароля».
Ожидаемый результат
Когда пользователь вводит одну и ту же строку, она должна считаться одинаковой. Непонятно, зачем вырезать пробелы — стоит убрать это ограничение.
Но, если оставить, то вырезать их везде:

— при регистрации в обоих полях ввода пароля; — при авторизации; — ручным вводом и когда пароль вкопипастили; Тогда пользователь даже не заметит, что система вносит в его пароль свои правки. *********************************************************************** В ожидаемом результате мы предлагаем свою идеальную картину мира, но мы можем чего-то не знать. Может, это требование свыше или решает какую-то проблему. На этот случай мы расписываем, где поправить, чтобы требование работало везде. Это вполне нормально в баге, описать результат «или или». Иначе баг отложат, вернутся через полгода и скажут «Ээээ, ну надо же вырезать, потому что… Поэтому просто поправлю второе поле». А в авторизации останется неработающим, потому что о ней мы ничего не писали. И снова reopen, обсуждения и все такое. Предлагайте сразу возможные варианты!

См также:

Шаблон бага → использовался в статье
Шаблон улучшения — Как продумывать свое улучшение с примером, когда это приводит к отказу от постановки задачи.
Как заводить задачи в баг-трекер → подробнее о том, как ставить задачу и заполнять обязательные поля.
PS — добавила пост в общую копилку багов.
Ссылка на основную публикацию