Перевірка даних за допомогою IsMatch і змінних

У цьому посібнику ми поговоримо про перевірку даних і навіщо вона потрібна в наших програмах.

Ми обговорилиу минулих навчальних посібниках, і дивовижно, як ми можемо дозволити кінцевим користувачам безперешкодно вводити нові дані або змінювати наявну інформацію через нашу програму. Однак трапляються випадки, коли кінцевий користувач може ввести інформацію, яка не відповідає вимогам форми. Ось тут і з’являється перевірка даних.

Зміст

Що таке перевірка даних?

Перевірка даних запобігає надсиланню кінцевими користувачами помилкових даних у ваші форми.

Наприклад, немає сенсу додавати номери до імені.

Перевірка даних за допомогою IsMatch і змінних

Деякі також можуть ввести 1 замість I як помилку.

Перевірка даних за допомогою IsMatch і змінних

Без перевірки даних натискання кнопки «Надіслати» автоматично оновить серверне джерело даних. Це може спричинити проблеми, якщо знати, що в наданій інформації були помилки. Перевірка даних допомагає уникнути цієї проблеми.

Перевірка даних перевіряє певні правила та параметри, які допомагають визначити, чи можна надсилати дані форми чи ні.

Існують різні способи налаштування перевірки даних у Power Apps. Давайте розглянемо кілька найкращих способів це зробити.

Перевірка даних за допомогою IsMatch

Раніше ми згадували, що перевірка даних виконується за набором правил. У прикладах, які ми показали, основною проблемою було введення чисел у поля, де числа не матимуть сенсу. У таких випадках функція IsMatch може допомогти нам цього уникнути.

Щоб зрозуміти, як працює IsMatch, давайте переглянемо документ Microsoft Power Apps .

Перевірка даних за допомогою IsMatch і змінних

IsMatch приймає текст, шаблон і деякі параметри. По суті, це показує, що ця функція оцінює текст на основі шаблону.

Текст охоплює все, що кінцевий користувач вводить у текстове поле. Що стосується шаблону, існує кілька різних попередньо визначених шаблонів, таких як коми, цифри або адреси електронної пошти.

Перевірка даних за допомогою IsMatch і змінних

Наприклад, якщо ви виберете шаблон електронної пошти, IsMatch переконається, що введений текст відповідає цьому шаблону. Звідти він повертатиме True або False.

У нашому випадку ми будемо використовувати шаблон для Digit. Це стосується всіх однозначних цифр від 0 до 9.

Перевірка даних за допомогою IsMatch і змінних

Після застосування цього шаблону функція IsMatch шукатиме будь-яку цифру в тексті та поверне значення true або false залежно від того, що вона знайде.

Існують також спеціальні параметри, які допомагають зробити нашу формулу більш точною під час використання функції IsMatch. У цьому випадку ми будемо використовувати параметр Contains. Цей параметр перевіряє, чи з’являється шаблон у тексті, але не обов’язково має починатися чи закінчуватися ним.

Перевірка даних за допомогою IsMatch і змінних

Давайте повернемося до нашої програми та подивимося, як ми можемо застосувати це до нашої форми.

Ми почнемо з додавання мітки.

Перевірка даних за допомогою IsMatch і змінних

Розмістимо його біля кнопки Надіслати.

Перевірка даних за допомогою IsMatch і змінних

Ми хочемо, щоб текст на етикетці створювався динамічно. Але зараз давайте зосередимося на використанні поля FirstName, яке є DataCardValue16.

Перевірка даних за допомогою IsMatch і змінних

Ми зробимо це твердження IF. Загалом, якщо ця формула повертає true, ми хочемо, щоб мітка відображала «Помилка перевірки даних». Інакше він залишиться порожнім.

Перевірка даних за допомогою IsMatch і змінних

Оскільки оператор IF починається з логічного тексту, ми вставимо сюди нашу функцію IsMatch, яка посилається на текст у полі FirstName. Це представлено DataCardValue16.Text.

Перевірка даних за допомогою IsMatch і змінних

Ми також розглянемо фактичний шаблон, який ми хочемо шукати в цій логіці. Додамо Match.Digit.

Перевірка даних за допомогою IsMatch і змінних

Нарешті, ми хочемо додати кілька варіантів відповідності. Ми насправді не шукаємо тут точний текст. Замість цього ми просто хочемо зіставити будь-яку цифру, яку містить текст. Тому ми додамо наш параметр Contains.

Перевірка даних за допомогою IsMatch і змінних

Простіше кажучи, ця формула запитує, чи є якась цифра десь у тексті? Якщо він поверне значення true, на мітці буде написано «Помилка перевірки даних��. Якщо ні, воно залишається порожнім.

Давайте спробуємо це. Отже, якщо ми введемо Lewis у текстовому полі, але використовуємо 1 замість I, мітка покаже помилку перевірки даних.

Перевірка даних за допомогою IsMatch і змінних

Зверніть увагу, що нам навіть не довелося вводити всю назву. У той момент, коли ми ввели 1, мітка відразу показала помилку.

Ми можемо налаштувати цю мітку, щоб зробити помилку більш помітною. Окрім збільшення тексту, давайте зробимо його червоним, щоб означати, що є помилка.

Перевірка даних за допомогою IsMatch і змінних

Отже, якщо кінцевий користувач бачить цю помилку, це повідомляє йому, що він ввів неправильні дані та повинен це виправити.

Перевірка даних за допомогою змінних

Хоча ми встановили мітку, яка сповіщає кінцевого користувача про помилку в даних, які вони намагаються ввести, ви помітите, що у нас все ще є кнопка «Надіслати», яку вони можуть натиснути, навіть якщо є помилка. Ми хочемо, щоб кнопка не з’являлася, коли виявляється помилка.

Це можна зробити двома способами. Перший — це логічний і простіший шлях, тоді як другий підхід буде складнішим, але також полегшить його, коли ви почнете додавати більше перевірки даних на екрані.

Почнемо з першого підходу.

Спочатку скопіюйте всю формулу, яка використовується на нашій етикетці.

Перевірка даних за допомогою IsMatch і змінних

Потім виділіть кнопку, виберіть у розкривному списку властивість видимості та вставте формулу в рядок формул. Це динамічно встановлює видимість кнопки відповідно до цієї логіки.

Перевірка даних за допомогою IsMatch і змінних

Отже, якщо текстове поле містить цифру, то кнопку не буде видно.

Перевірка даних за допомогою IsMatch і змінних

Давайте перевіримо, чи це спрацює. Якщо я зміню букву O у Coy на нуль, ви побачите, що з’явиться помилка, а кнопка «Надіслати» зникне.

Перевірка даних за допомогою IsMatch і змінних

Якщо ми знову змінимо це на O, кнопка повернеться.

Перевірка даних за допомогою IsMatch і змінних

Проблема з цим підходом полягає в тому, що ми використовуємо ту саму логіку в двох різних місцях — мітці та кнопці. Це означає, що якщо є щось, що потрібно змінити, вам доведеться робити це також у двох різних місцях. Це може стати втомливим, особливо якщо пізніше ви додасте більше логіки перевірки.

Щоб вирішити цю проблему, ми додамо ще одну кнопку. Давайте розташуємо нову кнопку поруч із кнопкою Надіслати.

Перевірка даних за допомогою IsMatch і змінних

Назвемо це кнопкою Перевірити.

Перевірка даних за допомогою IsMatch і змінних

Тоді давайте введемо ту саму логіку в цю кнопку.

Перевірка даних за допомогою IsMatch і змінних

Ми хочемо, щоб ця кнопка оновлювала для нас змінну, яка оновлює контекст.

Отже, давайте видалимо частину формули, яка запитує логіку відображення помилки перевірки даних, і змінимо її на UpdateContext.

Перевірка даних за допомогою IsMatch і змінних

Нам це потрібно для посилання на змінну, тому давайте створимо змінну під назвою Submit . Ми встановимо для цього параметра значення false, якщо помилка перевірки дійсно станеться.

Перевірка даних за допомогою IsMatch і змінних

Тоді ми негайно продовжимо це з тим самим форматом, але цього разу ми встановимо для нього значення true, якщо текстове поле не містить цифри.

Перевірка даних за допомогою IsMatch і змінних

Ми зробили видимість кнопок залежною від змінної, яку ми створили, а не від логіки. Тому нам також потрібно буде змінити логіку кнопки «Надіслати» та просто зробити її видимість рівною «Надіслати», тобто змінній, про яку ми говоримо.

Перевірка даних за допомогою IsMatch і змінних

Тож давайте введемо Coy у текстове поле, а потім натиснемо підтвердити.

Перевірка даних за допомогою IsMatch і змінних

Як бачите, після того, як ми це зробимо, з’явиться кнопка «Надіслати».

Перевірка даних за допомогою IsMatch і змінних

Тепер давайте змінимо O на нуль і натиснемо перевірку. Цього разу кнопка надсилання зникає.

Перевірка даних за допомогою IsMatch і змінних

Тепер, коли ми виправили кнопки, давайте також змінимо логіку в мітці. На даний момент він все ще містить оригінальну логіку за допомогою функції IsMatch.

Перевірка даних за допомогою IsMatch і змінних

Оскільки ми зараз базуємо нашу логіку на змінній Submit, ми хочемо поміняти пробіл і помилку. Отже, якщо Submit має значення true, ми хочемо, щоб мітка була порожньою. Але якщо Submit має значення false, ми хочемо, щоб наш текст помилки з’явився.

Перевірка даних за допомогою IsMatch і змінних

Щоб полегшити розуміння повідомлення про помилку кінцевим користувачам, змінимо його на «Можлива помилка перевірки даних – натисніть «Перевірити», щоб перевірити».

Перевірка даних за допомогою IsMatch і змінних

Щоб перевірити цю нову логіку, яку ми використали, давайте перейдемо до іншого запису для Anitra та клацнемо піктограму «Редагувати».

Перевірка даних за допомогою IsMatch і змінних

Як бачите, на цій сторінці ще немає помилок перевірки.

Перевірка даних за допомогою IsMatch і змінних

Якщо я зміню Anitra на Anitr0 і натисну «Перевірити», тоді з’явиться повідомлення про помилку.

Перевірка даних за допомогою IsMatch і змінних

Забезпечення повного процесу перевірки

Через те, як ми налаштували процес перевірки даних на цьому екрані, є дві можливі проблеми, які можуть призвести до надсилання неправильних даних.

Перша проблема полягає в тому, що можна пропустити натискання кнопки «Перевірити», оскільки кнопка «Надіслати» все ще відображається, якщо в процесі перевірки не станеться помилка. Тож ми можемо просто ввести, наприклад, Alons5, проігнорувати кнопку Перевірити та одразу натиснути кнопку Надіслати.

Перевірка даних за допомогою IsMatch і змінних

Друга проблема полягає в тому, що якщо ми перевіримо правильний запис, ми все одно зможемо повернутися до текстового поля та ввести все, що забажаємо. Отже, якщо з’явиться кнопка «Надіслати», будь-хто може легко повернутися до текстового поля, ввести цифру та натиснути кнопку «Надіслати».

Перевірка даних за допомогою IsMatch і змінних

Нам потрібно зробити змінну Submit false за замовчуванням. Нам також потрібно переконатися, що щоразу, коли хтось натискає текстове поле, усе повертається до режиму за замовчуванням.

Отже, перейдіть до поля FirstName і виберіть OnSelect у спадному меню властивостей. Потім скористаємося UpdateContext і посилаємося на змінну Submit. Тоді ми встановимо значення false.

Перевірка даних за допомогою IsMatch і змінних

Тепер щоразу, коли хтось натискає на текстове поле, користувачеві автоматично пропонується спочатку натиснути Перевірити.

Перевірка даних за допомогою IsMatch і змінних

Тож якщо я спробую змінити ім’я на Френк і натисну «Перевірити», це єдиний раз, коли з’явиться кнопка «Надіслати».

Перевірка даних за допомогою IsMatch і змінних

Але якщо я повернуся до того самого текстового поля та спробую додати 1 у кінці Frank, він повернеться до стандартного стану, де відображається помилка, а кнопка «Надіслати» зникне.

Перевірка даних за допомогою IsMatch і змінних




Висновок

Перевірка даних допомагає захистити наші дані та гарантує, що кінцеві користувачі помилково не надсилатимуть неправильні записи. Те, що ми пройшли в цьому підручнику, насправді є лише частиною основ. Ви можете додати скільки завгодно типів перевірки.

Крім того, ми встановлюємо перевірку даних лише для імені. Ви можете піти далі і зробити те саме для прізвища. Ви навіть можете встановити рівень VIP або номер паспорта, щоб відображалися лише цифри. Все залежить від того, до яких полів ви хочете застосувати різні процеси перевірки.

Все найкраще,

Генрі


Відкрийте для себе унікальні ідеї за допомогою функції TOPN LuckyTemplates

Відкрийте для себе унікальні ідеї за допомогою функції TOPN LuckyTemplates

У цьому блозі представлено функцію LuckyTemplates TOPN DAX, яка дає вам змогу отримувати унікальну статистику з ваших даних, допомагаючи вам приймати кращі маркетингові рішення.

Моделювання даних у LuckyTemplates за допомогою допоміжних таблиць

Моделювання даних у LuckyTemplates за допомогою допоміжних таблиць

Дізнайтеся про деякі фантастичні аналітичні прийоми, які ми можемо використовувати для моделювання даних у LuckyTemplates за допомогою таблиць підтримки DAX.

Розширений DAX для LuckyTemplates: впровадження логіки ранжування в унікальній статистиці

Розширений DAX для LuckyTemplates: впровадження логіки ранжування в унікальній статистиці

Тут ми зануримося в LuckyTemplates Advanced DAX і запровадимо логіку ранжирування, щоб отримати дуже унікальну інформацію. У цьому прикладі я також демонструю розгалуження міри.

Функція параметра LuckyTemplates «Що, якщо».

Функція параметра LuckyTemplates «Що, якщо».

У цьому блозі представлено нову функцію в LuckyTemplates — параметр аналізу «Що, якщо». Ви побачите, як це робить усе швидким і легким для аналізу сценарію.

Використовуйте розгалуження міри LuckyTemplates, щоб перевірити, чи зростає ваша маржа зі зростанням доходу

Використовуйте розгалуження міри LuckyTemplates, щоб перевірити, чи зростає ваша маржа зі зростанням доходу

Дізнайтеся, як визначити, чи добре зростає ваш дохід, перевіривши, чи зросла ваша маржа за допомогою розгалуження міри LuckyTemplates.

Параметри LuckyTemplates через редактор запитів

Параметри LuckyTemplates через редактор запитів

Дізнайтеся та зрозумійте, як можна створювати та використовувати параметри LuckyTemplates, які є потужною функцією редактора запитів.

Кругла гістограма – візуалізація для вашої інформаційної панелі

Кругла гістограма – візуалізація для вашої інформаційної панелі

У цьому підручнику буде обговорено створення круглої гістограми за допомогою Charticulator. Ви дізнаєтеся, як створити їх для звіту LuckyTemplates.

Функції та формули PowerApps | Вступ

Функції та формули PowerApps | Вступ

Дізнайтеся, як використовувати функції та формули PowerApps, щоб покращити функціональність і змінити поведінку в нашій програмі Canvas Power Apps.

Труба в R: підключення функцій за допомогою Dplyr

Труба в R: підключення функцій за допомогою Dplyr

У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.

RANKX Deep Dive: функція LuckyTemplates DAX

RANKX Deep Dive: функція LuckyTemplates DAX

RANKX від LuckyTemplates дозволяє повернути рейтинг певного числа в кожному рядку таблиці, який є частиною списку чисел.