Datavalidering ved hjælp af IsMatch og variabler

I denne tutorial skal vi tale om datavalidering, og hvorfor vi har brug for det i vores apps.

Vi har diskutereti tidligere selvstudier, og det er utroligt, hvordan vi kan give slutbrugere mulighed for at indtaste nye data eller ændre et eksisterende stykke information problemfrit gennem vores app. Der vil dog være tilfælde, hvor en slutbruger kan indtaste oplysninger, der ikke stemmer overens med det, formularen kræver. Det er her, datavalidering kommer ind.

Indholdsfortegnelse

Hvad er datavalidering?

Datavalidering forhindrer slutbrugere i at indsende fejlagtige data i dine formularer.

For eksempel giver det ikke mening at have tal knyttet til et navn.

Datavalidering ved hjælp af IsMatch og variabler

Nogle skriver måske også 1 i stedet for I som en fejl.

Datavalidering ved hjælp af IsMatch og variabler

Uden datavalidering vil et tryk på knappen Send automatisk opdatere backend-datakilden. Dette kan give problemer med at vide, at der var fejl i de givne oplysninger. Datavalidering hjælper med at undgå dette problem.

Datavalidering kontrollerer for visse regler og parametre, der hjælper med at bestemme, om formulardataene kan indsendes eller ej.

Der er forskellige måder at konfigurere datavalidering på i Power Apps. Lad os gennemgå nogle af de bedste måder at gøre det på.

Datavalidering ved hjælp af IsMatch

Tidligere nævnte vi, at datavalidering følger et sæt regler. I tilfælde af de eksempler, vi viste, var hovedproblemet at få tal indtastet i felter, hvor tal ikke giver mening. I tilfælde som disse kan IsMatch-funktionen hjælpe os med at undgå det.

For at forstå, hvordan IsMatch fungerer, lad os se på Microsoft Power Apps-dokumentet .

Datavalidering ved hjælp af IsMatch og variabler

IsMatch tager en tekst, et mønster og nogle muligheder. Grundlæggende viser dette, at denne funktion vurderer teksten ud fra mønsteret.

Teksten dækker alt, hvad slutbrugeren indtaster i tekstboksen. Hvad angår mønsteret, er der en række forskellige forudbestemte som kommaer, cifre eller e-mail-adresser.

Datavalidering ved hjælp af IsMatch og variabler

Hvis du for eksempel vælger e-mail-mønsteret, vil IsMatch sørge for, at den indtastede tekst matcher det mønster. Derfra ville den returnere enten en Sand eller en Falsk.

I vores tilfælde vil vi bruge mønsteret til Digit. Dette dækker alle enkeltcifre fra 0 til 9.

Datavalidering ved hjælp af IsMatch og variabler

Når vi anvender dette mønster, vil IsMatch-funktionen lede efter et hvilket som helst ciffer i teksten og returnere en sand eller en falsk afhængigt af, hvad den finder.

Der er også specifikke parametre, der hjælper med at gøre vores formel mere præcis, når du bruger IsMatch-funktionen. I dette tilfælde skal vi bruge parameteren Indeholder. Denne parameter kontrollerer, om mønsteret forekommer i teksten, men behøver ikke nødvendigvis at begynde eller slutte med det.

Datavalidering ved hjælp af IsMatch og variabler

Lad os gå tilbage til vores app og se, hvordan vi kan anvende det på vores formular.

Vi starter med at tilføje en etiket.

Datavalidering ved hjælp af IsMatch og variabler

Lad os placere den i nærheden af ​​knappen Send.

Datavalidering ved hjælp af IsMatch og variabler

Vi ønsker, at teksten på etiketten er dynamisk produceret. Men for nu, lad os fokusere på at bruge feltet Fornavn, som er DataCardValue16.

Datavalidering ved hjælp af IsMatch og variabler

Vi gør dette til en IF-erklæring. Grundlæggende, hvis denne formel returnerer sand, vil vi have etiketten til at vise "Data Validation Error". Ellers forbliver den tom.

Datavalidering ved hjælp af IsMatch og variabler

Da en IF-sætning starter med en logisk tekst, indsætter vi vores IsMatch-funktion her, som refererer til teksten i feltet Fornavn. Dette er repræsenteret ved DataCardValue16.Text.

Datavalidering ved hjælp af IsMatch og variabler

Vi vil også følge det op med det faktiske mønster, som vi vil have denne logik til at lede efter. Lad os tilføje Match.Digit.

Datavalidering ved hjælp af IsMatch og variabler

Til sidst vil vi tilføje nogle matchmuligheder. Vi leder ikke rigtig efter den nøjagtige tekst her. I stedet vil vi bare matche ethvert ciffer, som teksten indeholder. Så vi tilføjer vores Contains-parameter.

Datavalidering ved hjælp af IsMatch og variabler

Kort sagt spørger denne formel, optræder et ciffer nogen steder i teksten? Hvis den returnerer sand, vil etiketten sige Data Validation Error. Hvis ikke, forbliver den blank.

Lad os prøve det. Så hvis vi skriver Lewis i tekstboksen, men bruger 1 i stedet for I, viser etiketten Data Validation Error.

Datavalidering ved hjælp af IsMatch og variabler

Bemærk, at vi ikke engang behøvede at skrive hele navnet færdigt. I det øjeblik vi indtastede 1, viste etiketten straks fejlen.

Vi kan tilpasse denne etiket for at gøre fejlen mere mærkbar. Udover at gøre teksten større, lad os gøre den rød for at angive, at der er en fejl.

Datavalidering ved hjælp af IsMatch og variabler

Så hvis slutbrugeren ser denne fejl, fortæller den dem, at de indtastede forkerte data og burde rette det.

Datavalidering ved hjælp af variabler

Selvom vi har oprettet en etiket, der underretter slutbrugeren om fejlen i de data, de forsøger at indtaste, vil du bemærke, at vi stadig har en Send-knap, som de kan klikke på, selvom der er en fejl. Det, vi ønsker, skal ske, er, at knappen ikke dukker op, når der er registreret en fejl.

Der er to måder at gøre dette på. Den første er en logisk og lettere vej at tage, mens den anden tilgang vil være mere kompliceret, men vil også gøre det lettere for dig, når du begynder at tilføje mere datavalidering på skærmen.

Lad os starte med den første tilgang.

Først skal du kopiere hele formlen på vores etiket.

Datavalidering ved hjælp af IsMatch og variabler

Fremhæv derefter knappen, vælg egenskaben for synlighed under rullemenuen, og indsæt formlen i formellinjen. Dette indstiller dynamisk knappens synlighed til denne logik.

Datavalidering ved hjælp af IsMatch og variabler

Så hvis tekstboksen indeholder et ciffer, så vil knappen ikke være synlig.

Datavalidering ved hjælp af IsMatch og variabler

Lad os se, om det virker. Hvis jeg ændrer bogstavet O i Coy til et nul, vil du se, at fejlen dukker op, og knappen Send forsvinder.

Datavalidering ved hjælp af IsMatch og variabler

Hvis vi ændrer dette tilbage til et O, kommer knappen tilbage.

Datavalidering ved hjælp af IsMatch og variabler

Problemet med denne tilgang er, at vi bruger den samme logik to forskellige steder - etiketten og knappen. Det betyder, at hvis der er noget, der skal ændres, skal du også gøre det to forskellige steder. Dette kan blive trættende, især hvis du har tilføjet mere valideringslogik senere.

For at løse dette problem vil vi tilføje en anden knap. Lad os placere den nye knap ved siden af ​​knappen Send.

Datavalidering ved hjælp af IsMatch og variabler

Lad os kalde dette Valider-knappen.

Datavalidering ved hjælp af IsMatch og variabler

Så lad os sætte den samme logik i denne knap.

Datavalidering ved hjælp af IsMatch og variabler

Det, vi ønsker, at denne knap skal gøre, er at opdatere en variabel for os, som opdaterer konteksten.

Så lad os fjerne den del af formlen, der beder logikken om at vise Data Validation Error, og lad os ændre det til UpdateContext.

Datavalidering ved hjælp af IsMatch og variabler

Vi har brug for det for at referere til en variabel, så lad os oprette en variabel kaldet Submit . Vi indstiller dette til falsk, hvis valideringsfejlen rent faktisk opstår.

Datavalidering ved hjælp af IsMatch og variabler

Så vil vi straks følge det op med det samme format, men denne gang indstiller vi det til sandt, hvis tekstboksen ikke indeholder et ciffer.

Datavalidering ved hjælp af IsMatch og variabler

Det, vi gjorde, var at gøre knappernes synlighed afhængig af den variabel, vi oprettede, i stedet for af logikken. Så vi bliver også nødt til at ændre logikken på knappen Send og bare gøre dens synlighed lig med Send, som er den variabel vi taler om.

Datavalidering ved hjælp af IsMatch og variabler

Så lad os skrive Coy i tekstboksen, og lad os derefter klikke på valider.

Datavalidering ved hjælp af IsMatch og variabler

Som du kan se, dukker knappen Send op, når vi har gjort det.

Datavalidering ved hjælp af IsMatch og variabler

Lad os nu ændre O til et nul, og lad os klikke på valider. Denne gang forsvinder indsend-knappen.

Datavalidering ved hjælp af IsMatch og variabler

Nu hvor vi har rettet knapperne, lad os også ændre logikken i etiketten. I øjeblikket indeholder den stadig den originale logik ved hjælp af IsMatch-funktionen.

Datavalidering ved hjælp af IsMatch og variabler

Da vi nu baserer vores logik på variablen Submit, så ønsker vi at udveksle blank og fejl. Så hvis Submit er sandt, ønsker vi, at etiketten skal være tom. Men hvis Submit er falsk, vil vi gerne have, at vores fejltekst vises.

Datavalidering ved hjælp af IsMatch og variabler

For at gøre fejlmeddelelsen nemmere for slutbrugere at forstå, lad os ændre den til "Mulig datavalideringsfejl – klik på Valider for at kontrollere".

Datavalidering ved hjælp af IsMatch og variabler

For at teste den nye logik, vi brugte, lad os gå til en anden post for Anitra og klikke på Rediger-ikonet.

Datavalidering ved hjælp af IsMatch og variabler

Som du kan se, er der ingen valideringsfejl på denne side endnu.

Datavalidering ved hjælp af IsMatch og variabler

Hvis jeg ændrer Anitra til Anitr0 og klikker på Valider, så kommer fejlmeddelelsen ud.

Datavalidering ved hjælp af IsMatch og variabler

Sikring af en komplet valideringsproces

På grund af den måde, vi har konfigureret datavalideringsprocessen på på dette skærmbillede, er der to mulige problemer, der stadig ville resultere i, at der indsendes forkerte data.

Det første problem er, at det er muligt at springe over at klikke på knappen Valider, fordi knappen Send stadig er synlig, medmindre der opstår en fejl fra valideringsprocessen. Så vi kan bare indtaste Alons5 for eksempel, ignorere knappen Valider og trykke på knappen Send med det samme.

Datavalidering ved hjælp af IsMatch og variabler

Det andet problem er, at hvis vi validerer en korrekt indtastning, kan vi stadig gå tilbage til tekstboksen og indtaste alt, hvad vi vil. Så hvis knappen Send dukker op, kan enhver nemt gå tilbage til tekstboksen, indtaste et ciffer og klikke på knappen Send.

Datavalidering ved hjælp af IsMatch og variabler

Vi er nødt til at gøre Submit-variablen falsk som standard. Vi skal også sørge for, at når som helst nogen klikker på tekstboksen, går alt tilbage til standardtilstand.

Så lad os gå til feltet Fornavn og vælge OnSelect i rullemenuen Egenskaber. Lad os derefter bruge UpdateContext og referere til Submit-variablen. Så sætter vi det til falsk.

Datavalidering ved hjælp af IsMatch og variabler

Nu, hver gang nogen klikker på tekstboksen, beder den automatisk brugeren om at klikke på Valider først.

Datavalidering ved hjælp af IsMatch og variabler

Så hvis jeg prøver at ændre fornavnet til Frank og klikker på Valider, er det den eneste gang, knappen Send dukker op.

Datavalidering ved hjælp af IsMatch og variabler

Men hvis jeg går tilbage til det samme tekstfelt og prøver at tilføje 1 i slutningen af ​​Frank, går det lige tilbage til standardtilstanden, hvor fejlen vises, og knappen Send forsvinder.

Datavalidering ved hjælp af IsMatch og variabler




Konklusion

Datavalidering hjælper med at beskytte vores data og sikrer, at slutbrugere ikke indsender de forkerte registreringer ved en fejltagelse. Det, vi har gennemgået i denne tutorial, er faktisk blot nogle af de grundlæggende ting. Du kan tilføje så mange typer validering, som du finder passende.

Derudover indstiller vi kun datavalidering for fornavnet. Du kan gå videre og gøre det samme for efternavnet. Du kan endda indstille VIP-niveauet eller pasnummeret til kun at vise cifre. Det hele afhænger af, hvilke felter du vil anvende forskellige valideringsprocesser til.

Alt det bedste,

Henrik


LuckyTemplates-parametre via forespørgselseditor

LuckyTemplates-parametre via forespørgselseditor

Lær og forstå, hvordan du kan oprette og bruge LuckyTemplates Parameters, som er en kraftfuld funktion i Query Editor.

Rundt søjlediagram – en visualisering til dit dashboard

Rundt søjlediagram – en visualisering til dit dashboard

Denne vejledning vil diskutere om oprettelse af et rundt søjlediagram ved hjælp af Charticulator. Du lærer, hvordan du designer dem til din LuckyTemplates-rapport.

PowerApps funktioner og formler | En introduktion

PowerApps funktioner og formler | En introduktion

Lær, hvordan du bruger PowerApps-funktioner og -formler til at forbedre funktionaliteten og ændre adfærd i vores Power Apps-lærredsapp.

Pipe In R: Tilslutningsfunktioner med Dplyr

Pipe In R: Tilslutningsfunktioner med Dplyr

I denne øvelse lærer du, hvordan du kæder funktioner sammen ved hjælp af dplyr-røroperatoren i programmeringssproget R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX fra LuckyTemplates giver dig mulighed for at returnere rangeringen af ​​et specifikt tal i hver tabelrække, der udgør en del af en liste over tal.

Udpakning af LuckyTemplates-temaer og -billeder fra PBIX

Udpakning af LuckyTemplates-temaer og -billeder fra PBIX

Lær, hvordan du adskiller en PBIX-fil for at udtrække LuckyTemplates-temaer og -billeder fra baggrunden og bruge den til at oprette din rapport!

Excel Formler Snydeark: Mellemvejledning

Excel Formler Snydeark: Mellemvejledning

Excel Formler Snydeark: Mellemvejledning

LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det

LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det

LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det

Python i LuckyTemplates: Sådan installeres og konfigureres

Python i LuckyTemplates: Sådan installeres og konfigureres

Lær, hvordan du installerer programmeringssproget Python i LuckyTemplates, og hvordan du bruger dets værktøjer til at skrive koder og vise billeder.

Beregning af dynamiske fortjenestemargener – nem analyse af LuckyTemplates med DAX

Beregning af dynamiske fortjenestemargener – nem analyse af LuckyTemplates med DAX

Lær, hvordan du beregner dynamiske fortjenstmargener ved siden af ​​LuckyTemplates, og hvordan du kan få mere indsigt ved at grave dybere ned i resultaterne.