Поля и валидация
Проверяем required, типы полей, маски, согласие, невидимые поля и понятное сообщение рядом с конкретной ошибкой.
Заявка должна сохраняться
Проверяем весь путь данных: поля и кнопку, запрос браузера, серверный обработчик, сохранение в CRM или базе и отправку уведомления. Исправляем причину и добавляем контроль, чтобы потеря заявок не оставалась незаметной.
Путь заявки
Стандарт HTML разделяет проверку полей и передачу данных по адресу action выбранным методом. Клиентская валидация улучшает интерфейс, но не заменяет серверную проверку и подтверждённое сохранение заявки.
Проверяем required, типы полей, маски, согласие, невидимые поля и понятное сообщение рядом с конкретной ошибкой.
Ищем исключение, двойной обработчик, заблокированную кнопку, конфликт виджета и отличие поведения на мобильном устройстве.
Фиксируем URL, метод, полезную нагрузку, код ответа, CORS, тайм-аут и ответ обработчика без передачи лишних данных.
Проверяем обязательные поля, формат, лимиты, журнал ошибок, защиту от повторов и корректный ответ клиенту.
Подтверждаем запись заявки до уведомления, проверяем API-интеграцию, идентификатор результата и повтор при временном сбое.
Цель отправляется только после успеха; тестируем URL, UTM, источник, сообщение пользователю и сигнал при ошибке.
Цепочка доставки
Форма считается рабочей после подтверждённого сохранения данных. Уведомление, CRM и аналитика подключаются к этому результату и не должны превращать временный сбой одного сервиса в потерю обращения.
Сервер проверяет обязательные поля, присваивает заявке идентификатор и только затем отвечает об успехе. Если запись не создана, пользователь получает понятное сообщение, а журнал содержит техническую причину.
Передаём контакт, страницу, UTM-метки и текст задачи по согласованной схеме. Проверяем ответ API, тайм-аут и повтор. Один идентификатор помогает не создавать две сделки после повторного запроса.
Email или сообщение в Telegram сообщает о новой записи, но не хранит единственную копию. При недоступности канала заявку можно отправить повторно из журнала без участия посетителя.
Отправляем тесты с компьютера и телефона, проверяем доставку, источник и цель Метрики. Затем убираем тестовые данные и фиксируем, где смотреть ошибки и кто получает предупреждение.
Критерии приёмки
Кнопка блокирует повторную отправку, показывает состояние загрузки и возвращает управление после ошибки. Обновление страницы не должно незаметно создавать вторую заявку.
Сайт сохраняет обращение либо ставит его в контролируемую очередь. Пользователю не показывают успех, если система не может гарантировать сохранность данных.
Отправляем обычную тестовую заявку и несколько явно автоматических вариантов. Защита должна отсечь бота без блокировки пользователя, скрытого отказа или потери заполненных полей.
Результат
Пользователь понимает требования и итог отправки на любом экране.
Данные попадают в основное хранилище до отправки уведомлений.
Аналитическая цель соответствует реальному успешному результату.
Проверка сценариев
Форма может работать для разработчика и терять реальные обращения из-за мобильной клавиатуры, блокировщика, медленной сети, повторного клика или защиты от спама.
Корректные данные проходят и сохраняются один раз.
Неверное поле отмечается без удаления уже введённой информации.
Ложный успех не показывается, а ошибка фиксируется для повторной обработки.
Защита отсекает автоматические обращения, не блокируя обычного клиента.
Важно
Почтовая доставка может задержаться или попасть в фильтр. Если данные сначала сохранены в CRM или журнале заявок, уведомление можно повторить без потери обращения.
Не отправляйте реальные персональные данные в тесте: используем контрольный контакт и явно помеченную тестовую заявку.
Вопросы
Причина может быть в валидации, JavaScript, CAPTCHA, запросе или серверном обработчике. Проверяем этапы последовательно.
По записи в CRM, базе или журнале и идентификатору ответа. Одного сообщения «Спасибо» недостаточно.
Лучше сначала сохранить данные, а email использовать как повторяемое уведомление.
Поля, мобильная версия, сеть, повторы, антиспам, сохранение, UTM и аналитическая цель.
Первый шаг
Пришлите URL, время ошибки и ожидаемое место сохранения заявки. Определим первый проверяемый этап без использования данных клиентов.