FreemiumProBusinessEnterprise

Валидация полей: маски, regex, лимиты

Принцип валидации

evntflo использует двухуровневую валидацию:

  1. Клиентская (blur) — проверка при уходе с поля. Мгновенная обратная связь для участника.
  2. Серверная (backend) — повторная проверка при отправке формы. Гарантирует корректность данных.

Backend является единственным источником правды. Даже если клиентскую валидацию обошли, сервер отклонит некорректные данные.

Встроенные правила по типам полей

Для каждого из 14 типов полей предусмотрены стандартные правила:

Тип поляВстроенная валидация
EmailФормат email (RFC 5322), проверка regex
ТелефонФормат телефона, международный regex
ТекстМинимальная/максимальная длина
ЧислоМинимальное/максимальное значение
ДатаВалидная дата, границы диапазона
URLФормат URL
Выпадающий списокЗначение из допустимых вариантов
РадиоЗначение из допустимых вариантов
ЧекбоксОбязательная отметка (для согласий)
ФайлТип и размер файла

Настройка валидации

Обязательность поля

Переключатель «Обязательное поле» в настройках поля. Если включён, участник не сможет отправить форму, не заполнив это поле.

Regex-паттерн

Для текстовых полей вы можете задать регулярное выражение для проверки формата ввода:

  1. Откройте настройки поля в конструкторе формы.
  2. Найдите раздел «Валидация».
  3. В поле «Regex-паттерн» введите регулярное выражение.
  4. В поле «Сообщение при ошибке» укажите текст, который увидит участник при несоответствии.

Примеры:

  • ИНН (12 цифр): ^\d{12}$
  • Серия и номер паспорта: ^\d{4}\s?\d{6}$
  • Только кириллица: ^[а-яА-ЯёЁ\s-]+$

Минимум и максимум

Для числовых полей задайте границы:

  • min — минимальное допустимое значение
  • max — максимальное допустимое значение

Для текстовых полей:

  • minLength — минимальная длина текста
  • maxLength — максимальная длина текста

Blur-валидация

Валидация срабатывает в момент, когда участник уходит с поля (теряет фокус). Это даёт мгновенную обратную связь:

  • Поле подсвечивается красным
  • Под полем появляется сообщение об ошибке
  • Участник может сразу исправить ввод

При возврате к полю и исправлении ошибки подсветка и сообщение исчезают.

Локализованные сообщения

Все стандартные сообщения об ошибках переведены на поддерживаемые языки (ru, en, es, ar, it, de, fr). Участник видит сообщение на языке формы.

Для кастомных сообщений вы можете указать перевод на каждый язык:

  1. В настройках поля откройте раздел «Валидация».
  2. Нажмите на иконку перевода рядом с полем «Сообщение при ошибке».
  3. Заполните тексты для нужных языков.

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

Валидация при навигации между шагами

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

Частые вопросы

Когда участник видит ошибку валидации?
При blur-валидации — сразу после ухода с поля (потери фокуса). Это позволяет исправить ошибку до отправки формы, не дожидаясь нажатия кнопки «Отправить».
Можно ли задать свой текст ошибки?
Да. Для каждого правила валидации вы можете указать собственное сообщение на каждом из поддерживаемых языков. Если своё сообщение не указано, используется стандартное.
Валидация выполняется только на клиенте?
Нет. Backend повторяет всю валидацию на сервере. Клиентская валидация — для удобства участника, серверная — для безопасности и корректности.