Проверка ввода
Обновлено
Маска телефона
В редакторе поля выберите «Тип» — «Телефон». В разделе «Отображение» появится «Маска ввода».
| Настройка | Что делает | Значения / по умолчанию |
|---|---|---|
| Маска ввода | Форматирует номер при вводе и проверяет его полноту | «Без маски» — по умолчанию; «Россия, Казахстан» — +7 (999) 999-99-99; «Беларусь» — +375 (99) 999-99-99; «Украина» — +380 (99) 999-99-99; «Свой шаблон» |
| Шаблон маски | Задаёт формат при выборе «Свой шаблон» | Изначально пусто. 9 — позиция для цифры; допускаются фиксированные цифры 0–8, +, скобки, дефис, точка и пробел. Нужно не менее пяти позиций 9 |
Номер с маской сохраняется в формате выбранного шаблона. Сервер принимает нужное число цифр без кода страны либо с совпадающим кодом. Для стандартной маски +7 допускается российский ввод из 11 цифр с начальной 8.
Неполный номер вызывает сообщение «Укажите номер телефона в формате …». При выборе «Без маски» проверка остаётся: нужно не менее 10 цифр; допускаются цифры, пробельные символы, +, (, ) и -.
В редакторе поля «Телефон для курьера» выбрана маска номера для России и Казахстана.
Текстовые правила
Раздел «Проверка» появляется для типов «Строка» и «Текстовое поле».
| Настройка | Что делает | Значения / по умолчанию |
|---|---|---|
| Минимальная длина | Ограничивает длину непустого текста снизу | Пусто — ограничения нет; 0 также не включает ограничение |
| Максимальная длина | Ограничивает длину текста сверху | Пусто — ограничения нет; 0 также не включает ограничение |
| Регулярное выражение | Проверяет соответствие непустого текста шаблону | Пусто — проверки нет. До 200 символов; без внешних разделителей и флагов, проверяется в режиме Unicode |
| Сообщение об ошибке шаблона | Сообщение при несовпадении с выражением | Пусто — «Неверный формат.» |
Для проверки всей строки укажите начало ^ и конец $. Выражение должно работать и в JavaScript браузера, и в PHP на сервере.
Пример: ИНН из 10 или 12 цифр
- Создайте поле «Строка» с названием «ИНН».
- В «Регулярное выражение» вставьте:
^\d{10}(\d{2})?$- В «Сообщение об ошибке шаблона» укажите, например, «Введите ИНН из 10 или 12 цифр».
- Для показа компаниям выберите «Тип покупателя» — «Компания».
- Если ответ обязателен, включите «Обязательное поле» и сохраните настройки.
Этот шаблон проверяет длину и состав строки. Проверки контрольных цифр ИНН плагин не выполняет.
В оформлении показаны дополнительные поля и сообщение «ИНН — 10 или 12 цифр» у неверного значения.
Числовые правила
Для типа «Число» в разделе «Проверка» доступны:
| Настройка | Что делает | Значения / по умолчанию |
|---|---|---|
| Минимальное значение | Разрешает числа не меньше указанного | Пусто — без нижней границы |
| Максимальное значение | Разрешает числа не больше указанного | Пусто — без верхней границы |
Границы включаются в допустимый диапазон. Максимум не должен быть меньше минимума. Можно использовать дробные значения; сервер принимает запятую как десятичный разделитель и сохраняет её как точку. Вид и возможности числового элемента ввода зависят от браузера.
Когда срабатывает проверка
Клиентские сообщения о формате появляются при уходе с поля; у списков и дат — также при изменении значения. Маска форматирует телефон в процессе ввода. Пустое необязательное поле проходит проверку формата; обязательность задаётся отдельно.
В одностраничном оформлении окончательную проверку при создании заказа выполняет сервер. Ошибка обязательности или формата препятствует созданию заказа.
В старом пошаговом оформлении обязательность опирается на браузер, а серверная проверка после создания заказа лишь исключает ошибочные значения из сохранения. Не считайте клиентские подсказки гарантией серверной блокировки в этом режиме.