Принцип валидации
evntflo использует двухуровневую валидацию:
- Клиентская (blur) — проверка при уходе с поля. Мгновенная обратная связь для участника.
- Серверная (backend) — повторная проверка при отправке формы. Гарантирует корректность данных.
Backend является единственным источником правды. Даже если клиентскую валидацию обошли, сервер отклонит некорректные данные.
Встроенные правила по типам полей
Для каждого из 14 типов полей предусмотрены стандартные правила:
| Тип поля | Встроенная валидация |
|---|---|
| Формат email (RFC 5322), проверка regex | |
| Телефон | Формат телефона, международный regex |
| Текст | Минимальная/максимальная длина |
| Число | Минимальное/максимальное значение |
| Дата | Валидная дата, границы диапазона |
| URL | Формат URL |
| Выпадающий список | Значение из допустимых вариантов |
| Радио | Значение из допустимых вариантов |
| Чекбокс | Обязательная отметка (для согласий) |
| Файл | Тип и размер файла |
Настройка валидации
Обязательность поля
Переключатель «Обязательное поле» в настройках поля. Если включён, участник не сможет отправить форму, не заполнив это поле.
Regex-паттерн
Для текстовых полей вы можете задать регулярное выражение для проверки формата ввода:
- Откройте настройки поля в конструкторе формы.
- Найдите раздел «Валидация».
- В поле «Regex-паттерн» введите регулярное выражение.
- В поле «Сообщение при ошибке» укажите текст, который увидит участник при несоответствии.
Примеры:
- ИНН (12 цифр):
^\d{12}$ - Серия и номер паспорта:
^\d{4}\s?\d{6}$ - Только кириллица:
^[а-яА-ЯёЁ\s-]+$
Минимум и максимум
Для числовых полей задайте границы:
- min — минимальное допустимое значение
- max — максимальное допустимое значение
Для текстовых полей:
- minLength — минимальная длина текста
- maxLength — максимальная длина текста
Blur-валидация
Валидация срабатывает в момент, когда участник уходит с поля (теряет фокус). Это даёт мгновенную обратную связь:
- Поле подсвечивается красным
- Под полем появляется сообщение об ошибке
- Участник может сразу исправить ввод
При возврате к полю и исправлении ошибки подсветка и сообщение исчезают.
Локализованные сообщения
Все стандартные сообщения об ошибках переведены на поддерживаемые языки (ru, en, es, ar, it, de, fr). Участник видит сообщение на языке формы.
Для кастомных сообщений вы можете указать перевод на каждый язык:
- В настройках поля откройте раздел «Валидация».
- Нажмите на иконку перевода рядом с полем «Сообщение при ошибке».
- Заполните тексты для нужных языков.
Если перевод не указан, используется цепочка fallback: запрошенный язык, русский, английский, ключ ошибки.
Валидация при навигации между шагами
В многошаговых формах валидация выполняется перед переходом на следующий шаг. Участник не сможет перейти вперёд, пока все обязательные поля текущего шага не заполнены корректно.