В веб-приложении часто нужно, чтобы пользователь заполнил какую-то форму. Это может быть форма заказа товара или услуги, регистрация на сайте, вход в систему и т.д. Когда пользователь ввёл данные и нажал «Сохранить» или «Отправить», форма проверяется на валидность данных. Невозможно точно сказать, осмыслено ли то, что ввёл пользователь, но многие потенциальные ошибки можно отловить уже на этом этапе.
Например:
- имя пользователя не должно быть пустым,
- сумма заказа не должна быть отрицательной или нулевой,
- e-mail не должен содержать русских букв,
- номер телефона должен соответствовать принятому формату (состоять из 10 цифр, начинаться с +7 или 8),
- товар, который заказывает пользователь, должен быть в наличии.
Валидация форм очень важна, чтобы не заполнять базу ошибочными данными. Но при этом всегда риск того, что пользователь не сможет ввести данные так, чтобы они прошли валидацию, что может привести к потере клиента и другим неблагоприятным последствиям.
Для того чтобы обеспечить адекватный компромисс между свободой пользователей вводить то, что они хотят, и проверкой корректности, мы стараемся придерживаться следующих правил.
- сообщения об ошибках не выводятся, пока пользователь не заполнит форму до конца;
если вывести ошибки сразу, пользователь может быть недоволен тем, что он ещё не заполнил форму до конца, а ему уже выводят ошибки, - все поля, обязательные для заполнения, явно отмечены;
в некоторых случаях наоборот, мы помечаем необязательные поля, - даже если поля заполнены с ошибками, кнопка сохранения остаётся активной — при нажатии на неё выведутся сообщения об ошибках,
- у каждого ошибочно введённого поля отображается сообщение на русском языке,
- ошибочно введённые поля подсвечиваются красным.