Спрашивайте только нужное для ответа
Для первого контакта часто достаточно имени, способа связи и краткого вопроса. ИНН, подробный бюджет или длинный выбор услуг оправданы только тогда, когда без них нельзя начать работу. Используйте видимые подписи, подходящие типы полей и подсказки формата. Не делайте placeholder единственным названием: он исчезает при вводе и затрудняет проверку.
Проверяйте данные на сервере
Клиентская проверка помогает пользователю, но не заменяет серверную валидацию. Ограничьте длину текста, проверьте телефон и email, экранируйте вывод. Добавьте защиту от повторных запросов и спама, сохранив возможность пользоваться формой без мыши. При сбое интеграции нужна сохранённая заявка или явная ошибка, а не ложное подтверждение.
Пройдите путь обращения целиком
Проверьте успешную отправку, пустые поля, неверные данные, повторное нажатие и отключённую сеть. Убедитесь, что источник и язык передаются вместе с обращением, а личные данные не попадают в аналитику. Согласуйте срок хранения и доступ сотрудников к заявкам.
- Понятные подписи и ошибки рядом с полями.
- Защита сервера, а не только JavaScript.
- Проверенный путь до CRM или хранилища.
- Уведомление не раскрывает личные данные.
Вопросы о проекте
Стоит ли добавлять CAPTCHA во все формы?
Не обязательно. Начните с серверной проверки, ограничения частоты и скрытого антиспам-поля. Более сложную проверку добавляют по наблюдаемой проблеме.