Валидация лид-форм — полное руководство. Ошибки и валидация форм мобильных приложений Проблема с соединением

Нет ничего более утомительного, чем заполнение неграмотно составленной лид-формы на посадочной странице. Вспомните, сколько раз вам приходилось перезаполнять все поля из-за того, что придуманный вами пароль не подходил системе по тем или иным критериям, уведомить о которых вас никто не постарался заранее.

Имейте в виду, что оптимизация лид-форм — это ключевой компонент процесса оптимизации конверсии, и основное внимание здесь следует уделить валидации полей.

Что такое валидация лид-формы?

Валидация лид-форм — это технический процесс, в ходе которого системой проверяется верность введенных пользователем данных. Если человек допустил ошибку при заполнении формы (например, указал данные в неправильном формате), то система укажет ему на эту ошибку (либо просто на ее наличие) и предложит исправить. Если же пользователь ввел все данные верно, то никаких дополнительных сообщений не возникнет (либо рядом с полем появится галочка), и он перейдет на следующий этап регистрации.

К примеру, Twitter не позволит вам перейти на следующий этап регистрации, если вы введете адрес электронной почты в неправильном формате:

Когда вы введете адрес почты в том формате, который нужен системе, рядом с полем появится галочка, свидетельствующая о том, что формат введенных данных верен:

Суть валидации — гарантировать введение пользователями данных в формате, требуемым системой (например, адрес почты должен соответствовать стандарту [email protected], а вот, к примеру, пароль должен содержать не менее 7 символов).

Существуют два основных вида формы валидации.

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

Принципы

Задача дизайнера - сделать так, чтобы пользователь не совершил ошибку и валидация не понадобилась, для этого:

  • Ограничьте выбор заведомо неверных значений в списке: блокируйте эти значения или не показывайте в списке.
  • Ограничьте ввод неподходящих символов. Если в поле нужно вводить только цифры, и это очевидно пользователю, игнорируйте ввод букв вместо того, чтобы показать ошибку. Используйте маски в полях, где у значений известен формат.
  • Пишите подсказки для заполнения формы. Например, плейсхолдер в полях ввода.
  • Валидация на только что открытой пустой форме запрещена. Исключение - черновики, когда пользователь уже заполнял эту форму, через какое-то время вернулся к ней, а она заполнена с ошибками.

    Виды валидации

    Существует три вида валидаций: мгновенная, по потере фокуса и по отправке формы.

    Чем раньше интерфейс сообщает об ошибке, тем лучше - пользователю проще вернуться и исправить ошибку.

    Самый быстрый способ сообщить об ошибке - мгновенная валидация. Но она возможна только в тех случаях, когда в процессе ввода понятно, что значение некорректное. Обычно такие ошибки связаны с неправильной раскладкой клавиатуры (кириллица вместо латиницы) или вводом букв в цифровое поле (ИНН, КПП и др.) Для этих случаев мы используем поля с масками: ввод неподходящих символов в них заблокирован. Поэтому в наших интерфейсах есть только два вида валидации:

    • по потере фокуса - основной вид валидации
    • по отправке формы - для тех случаев, когда валидация по потере фокуса невозможна.
    Валидация по потере фокуса Когда использовать Как работает

    Не валидируйте поля на пустоту по потере фокуса - не показывайте ошибку если поле не заполнено, возможно пользователь вернется и заполнит поле чуть позже. Показывать ошибку в таких случаях можно только после отправки формы.

    Валидация срабатывает сразу после потери фокуса, если значение в поле заполнено. Если найдена ошибка, поле подсвечивается красным. Фокус в это поле автоматически не возвращается:

    Текст ошибки появляется в тултипе, когда поле получает наведение или фокус:

    Поле с ошибкой должно остаться подсвеченным, если оно получило фокус, его значение не исправляли, а затем оно потеряло фокус.

    Красная подсветка снимается с поля, как только пользователь начал исправлять ошибочное значение.

    Валидация при отправке формы Когда использовать

    Используйте этот вид валидации, когда нельзя проверить поля по потере фокуса. Например, для проверки заполнения обязательных полей.

    Как работает

    Проверка происходит после того, как пользователь нажал кнопку отправки данных: все поля с ошибками на форме подсвечиваются, страница прокручивается к первому полю с ошибкой, фокус перемещается в это поле, курсор встает в конец строки, рядом с полем появляется тултип с подсказкой.

    При прокрутке к первому полю от верхней границы окна до ошибочного поля остается отступ 48px - шесть модулей .

    Блокирование кнопки отправки

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

    Как только заполнены все обязательные поля - кнопка становится активной. Если после этого пользователь стер значение в одном из полей - кнопка снова должна стать не активной.

    Сообщения об ошибках

    Об ошибках можно сообщать двумя способами:

    Тултипы Как работают

    Тултип с подсказкой появляется в двух случаях:

  • При наведении на поле с ошибкой.
  • Когда поле с ошибкой получает фокус.
  • Если значение в поле с ошибкой было изменено, потеряло фокус, а потом заново оказалось в фокусе - тултип с текстом старой ошибки уже не возникает. Это правило одинаково работает для всех типов валидаций: и по потере фокуса, и при отправке формы.

    Тултип по наведению перекрывает тултип по фокусу.


    Тултип может появляться сверху или справа от контрола с ошибкой, так чтобы он не перекрывал полезную информацию:


    Единообразие поведения и внешнего вида

    Показывайте тултипы справа от полей. Eсли в этом случае они перекрывают важное содержимое на странице, выводите тултипы сверху. Придерживайтесь единообразия, но помните, что контент важнее него.

    Красные тексты на странице Как работают

    Красный текст ошибки появляется сразу, как только произошла валидация и ошибочное поле подсветилось.

    Как только пользователь начал исправлять значение, красная подсветка поля исчезает, и цвет текста ошибки меняется на -  #333.

    Текст ошибки пропадает по потере фокуса и больше не появляется, если поле заново получает фокус. Это правило одинаково работает для всех типов валидаций: и по потере фокуса, и при отправке формы.

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

    Если справа от поля нет места для текста, раздвигайте форму и выводите сообщение под полем.


    На более сложных формах выводите сообщение об ошибке в тултипе.

    Валидация зависимых полей

    Зависимые поля - это поля, значение которых зависит друг от друга.

    Ошибки, которые связаны с нарушением зависимости полей, мы показываем после сабмита формы. Например, ИНН и КПП. Если пользователь указал ИНН из 10 цифр, а поле с КПП оставил пустым, после отправки формы пустое поле с КПП будет подсвечено.

    ИНН может быть двух видов:

    • 10-значный у юридических лиц
    • 12-значный у ИП.

    Если пользователь указал ИНН из 12 цифр, значит организация - индивидуальный предприниматель, и у нее нет КПП, значит поле КПП заполнять не нужно. И наоборот, если заполнено КПП, а ИНН указан 12-значный, возможно неверно указан ИНН.

    Подсветка зависимых полей пропадает, как только пользователь начал исправлять значение в одном из этих полей.

    Если при заполнении зависимого поля нарушен формат значения, сообщайте о такой ошибке при потере фокуса. Например, пользователь ввел 3 цифры в поле ИНН и убрал фокус. Такое поле должно подсветиться сразу же.

    Пример

    Есть форма из 5 полей:

    • Название организации - простое текстовое, обязательное
    • ИНН - 10 или 12 цифр, проверка контрольной суммы по потере фокуса, обязательное
    • КПП - 9 цифр с проверкой контрольной суммы по потере фокуса, обязательное, если ИНН состоит из 10 цифр
    • Электронная почта - адрес почты, проверка по потере фокуса по маске [email protected], необязательное
    • Телефон - международный формат, проверка по потере фокуса по маске +00000000000, обязательное

    Разбор ошибок валидации сайта


    Наконец-то появилось свободное время между бесконечной чередой заказов, и я решил заняться своим блогом. Попробуем его улучшить в плане валидации. Ниже в статье я расскажу, что такое валидация сайта, кода html и css, зачем она нужна и как привести сайт к стандартам на конкретном примере.

    Что такое валидация сайта?

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

    Конкретный пример прохождения валидации для страницы сайта

    Возьмем первую попавшуюся страницу на моем сайте - Кодирование и декодирование base64 на Java 8. Забьем адрес страницы в валидатор и смотрим результат:

    Errors found while checking this document as HTML 4.01 Transitional! Result: 105 Errors, 67 warning(s) Да уж, картина вырисовывается неприятная: больше сотни ошибок и 67 предупреждений – как вообще поисковики индексируют мой блог, и заходят люди? Но не будем огорчаться, а научимся проходить валидацию, справлять ошибки. Итак, первое предупреждение:

    Unable to Determine Parse Mode! The validator can process documents either as XML (for document types such as XHTML, SVG, etc.) or SGML (for HTML 4.01 and prior versions). For this document, the information available was not sufficient to determine the parsing mode unambiguously, because: the MIME Media Type (text/html) can be used for XML or SGML document types No known Document Type could be detected No XML declaration (e.g ) could be found at the beginning of the document. No XML namespace (e.g ) could be found at the root of the document. As a default, the validator is falling back to SGML mode. Warning No DOCTYPE found! Checking with default HTML 4.01 Transitional Document Type. No DOCTYPE Declaration could be found or recognized in this document. This generally means that the document is not declaring its Document Type at the top. It can also mean that the DOCTYPE declaration contains a spelling error, or that it is not using the correct syntax. The document was checked using a default "fallback" Document Type Definition that closely resembles “HTML 4.01 Transitional”. Это одно и тоже. А исправляется просто: в самом начале страницы добавить тег:

    Проверяем,что у нас получилось и видим, что одним этим тегом мы убрали 105 ошибок и 3 предупреждения! Теперь у нас осталось только 64 предупреждения. Начинаем разбирать их по одному.

    Warning: The type attribute for the style element is not needed and should be omitted. From line 5, column 1; to line 5, column 23 /x-icon">↩↩↩↩↩A Это значит, что для элемента style не нужен атрибут type – это лишнее. На странице у нас два таких замечания. Аналогичное предупреждение и по JavaScript:

    Warning: The type attribute is unnecessary for JavaScript resources. From line 418, column 1; to line 418, column 31 ↩↩$(doc Таких у нас 8 ошибок. Убираем данные атрибуты и ура – еще на 10 предупреждений меньше!

    Error: CSS: background: The first argument to the linear-gradient function should be to top, not top. At line 39, column 61 0%,#E8E8E8 100%);↩ border-r Следующая ошибка - первый аргумент у linear-gradient должен быть to top, а не top. Исправлем. Далее ошибка:

    Error: CSS: Parse Error. From line 65, column 13; to line 65, column 16 margin: 0 auto;↩padd Здесь у меня неверно закомментировано css. Надо просто убрать эту строку. Или закомментировать по-другому /* и */. Я так сделал, как привык так .

    Error: CSS: @import are not allowed after any valid statement other than @charset and @import.. At line 88, column 74 0,600,700,300);↩@import url(// Теперь у нас идет ошибка импорта. Перенесем эти строчки в самое начало файла и она исчезнет.

    Error: Bad value _blanck for attribute target on element a: Reserved keyword blanck used. From line 241, column 218; to line 241, column 295 cookies..php?id=98" target="_blanck" style="display: inline;">Здесь Далее не нравится значение атрибута target, нам сообщают, что надо использовать «blank» без нижнего подчеркивания спереди. Убираем.

    Error: End tag li seen, but there were open elements. From line 379, column 2; to line 379, column 6

      ↩ ↩↩
    ↩↩↩↩↩↩

    ↩↩↩