На собесе меня попросили описать валидацию поля Имя.

На собесе меня попросили описать валидацию поля Имя. Я бодро перечислил правила, интервьюер переспросил и быстро перешёл к следующему вопросу.

Я сказал так: только русские или латинские буквы, цифры и спецсимволы нельзя, длина 20-30 знаков, пробелы недопустимы. Звучало уверенно. Когда я переслушал запись, нашёл в этом ответе три дыры.

Первая - пробел и дефис. С моими правилами Анна-Мария и Мария Луиза форму не заполнят. Дефис, пробел и апостроф внутри имени разрешаем, лишние пробелы по краям обрезаем.

Вторая - момент проверки. Я ни слова не сказал, когда срабатывает валидация: на каждый символ, при уходе из поля или по кнопке Отправить. От этого зависит, когда человек увидит ошибку и сколько раз о неё споткнётся.

Третья - длина. Двадцать знаков я назвал с потолка. Лимит берут у бизнеса и сверяют с полем в базе, иначе фронт пропустит то, что бэк потом обрежет.

Ещё стоило проговорить пару деталей: кириллицу и латиницу в одном имени не смешиваем, под каждое правило свой текст ошибки, отдельно решаем, обязательное поле или нет.

Валидация кажется мелочью, пока в поддержку не напишет человек, которому форма не даёт ввести его собственное имя.

А какое имя ломало формы у вас?

#собеседование

На собесе меня попросили описать валидацию поля Имя. | Сетка — социальная сеть от hh.ru