Часто за автоматизацией ввода данных скрывается задача проверки вводимой информации или валидация. Если средства разработки позволяют, то проверка строковых данных по формату проверяется по маске, а если поддержки паттернов по маске нет, то в дело вступает применение регулярных выражений - один из незыблемых методов проверки строковых данных. Давай рассмотрим простой пример, когда в приложении Power APPS нужно проверять данные в строке под определенный формат. Если данные указаны в формате, то отметить это цветом, а неверные данные отметить другим цветом или значком.
Допустим у нас есть поле ввода eKod
, у которого нужно сверить данные по следующему формату:
- Вначале допустимы только латинские заглавные буквы A, D, Y, Z.
- После букв без пробела 3 цифры.
Регулярное выражение будет таким:
[ADYZ]\d{3}
Для пользователей при заполнении данных через формы важно видеть сигналы корректности заполнения "здесь и сейчас". Поэтому для примера задействуем 2 таких сигнала:
- Если код введен верно, то цвет шрифта зеленый, иначе красный.
- Если код введен верно, то иконка отметки рядом с полем ввода зеленая, иначе красная.
Для проверки условия для поля ввода eKod
на свойство FontColor
напишем следующее условие:
If(IsMatch(eKod.Value,"[ADYZ]\d{3}"), RGBA(0, 100, 0, 1), RGBA(255, 0, 0, 1))
где IsMatch
функция, которая позволяет осуществлять проверку по регулярным выражениям и в результате возвращает булево значение True
или False
.
Для иконки тоже напишем почти такое же условие проверки, изменив код цвета, для свойства Color
:
If(IsMatch(eKod.Value,"[ADYZ]\d{3}"), RGBA(0, 255, 0, 1), RGBA(255, 0, 0, 1))
В результате при вводе данных осуществляется проверка (валидация) и визуализация сигнала корректности ввода для пользователей:
Конечно же у функции IsMatch
есть родственные функции Match
, MatchAll
и об этом можно прочесть в наглядном виде в официальной справке.