Валидация на наличие символов

Материал из боты telegram - ebot.one - редактор ботов
Перейти к: навигация, поиск

Бывают случаи когда при вводе пользователем данных необходимо провалидировать на наличие каких-то символов.. Сделать это можно с помощью регулярного выражения в настройках команды (см. скриншот). В результате настройка будет представлять json формат с ключами: body_reg - Регулярное выражение для пропуска в следующую команду. error_body_say - То что скажет бот, если введенное пользователем значение не подводится под регулярное выражение.

При наличии проверки ввод с кнопок также валидируется.

list_ignore - список слов, которые не считать валидными даже если они проходят валидацию в выражении (так можно заблокировать выборочные кнопки при вводе текста). Название кнопок (или иных игнорируемых слов) нужно указать в нижнем регистре.

P.S.: Если в json (например, в регулярном выражении) необходимо использовать обратный слеш - он экранируется еще одним обратным слешом. Иначе json не рассериализуется в объект для проверки

Пример настройки:

{ "body_reg":"/[0-9]/", "error_body_say":"Я не смог распознать число. Введи число пожалуйста!" }

Примечение: Настройка должна быть указана именно у команды которая задает вопрос, а не которая принимает ввод.


Также настройки команды (в том числе и для валидации) можно получить из внешнего скрипта:

Val1.jpg Val2.jpg

При наличии в данных обратного ключа его необходимо экранировать еще одним обратным слешем: Val3.jpg