Datavalidering med hjälp av IsMatch och variabler

I den här handledningen kommer vi att prata om datavalidering och varför vi behöver det i våra appar.

Vi har diskuterati tidigare tutorials och det är fantastiskt hur vi kan tillåta slutanvändare att mata in ny data eller ändra en befintlig information sömlöst genom vår app. Det kommer dock att finnas tillfällen där en slutanvändare kan skriva in information som inte matchar vad formuläret kräver. Det är här datavalidering kommer in.

Innehållsförteckning

Vad är datavalidering?

Datavalidering förhindrar slutanvändare från att skicka in felaktig data i dina formulär.

Det är till exempel inte meningsfullt att ha siffror kopplade till ett namn.

Datavalidering med hjälp av IsMatch och variabler

Vissa kanske också skriver in 1 istället för I som ett misstag.

Datavalidering med hjälp av IsMatch och variabler

Utan datavalidering uppdateras backend-datakällan automatiskt genom att trycka på knappen Skicka. Detta kan orsaka problem med att veta att det fanns fel i den information som ges. Datavalidering hjälper till att undvika det problemet.

Datavalidering kontrollerar för vissa regler och parametrar som hjälper till att avgöra om formulärdata kan skickas eller inte.

Det finns olika sätt att ställa in datavalidering i Power Apps. Låt oss gå igenom några av de bästa sätten att göra det.

Datavalidering med IsMatch

Tidigare nämnde vi att datavalidering följer en uppsättning regler. När det gäller exemplen vi visade var huvudproblemet att ha siffror inskrivna i fält där siffror inte är meningsfulla. I fall som dessa kan IsMatch-funktionen hjälpa oss att undvika det.

För att förstå hur IsMatch fungerar, låt oss titta på Microsoft Power Apps-dokumentet .

Datavalidering med hjälp av IsMatch och variabler

IsMatch tar en text, ett mönster och några alternativ. I grund och botten visar detta att den här funktionen utvärderar texten utifrån mönstret.

Texten täcker allt som slutanvändaren skriver in i textrutan. När det gäller mönstret finns det ett antal olika förutbestämda sådana som kommatecken, siffror eller e-postadresser.

Datavalidering med hjälp av IsMatch och variabler

Om du väljer e-postmönstret, till exempel, kommer IsMatch att se till att texten som skrivs in matchar det mönstret. Därifrån skulle det returnera antingen ett sant eller ett falskt.

I vårt fall kommer vi att använda mönstret för Digit. Detta omfattar alla ensiffriga siffror från 0 till 9.

Datavalidering med hjälp av IsMatch och variabler

När vi väl tillämpar det här mönstret kommer IsMatch-funktionen att leta efter valfri siffra i texten och returnera ett sant eller falskt beroende på vad den hittar.

Det finns också specifika parametrar som hjälper till att göra vår formel mer exakt när du använder IsMatch-funktionen. I det här fallet kommer vi att använda parametern Innehåller. Den här parametern kontrollerar om mönstret förekommer i texten men behöver inte nödvändigtvis börja eller sluta med det.

Datavalidering med hjälp av IsMatch och variabler

Låt oss gå tillbaka till vår app och se hur vi kan tillämpa det på vårt formulär.

Vi börjar med att lägga till en etikett.

Datavalidering med hjälp av IsMatch och variabler

Låt oss placera den nära knappen Skicka.

Datavalidering med hjälp av IsMatch och variabler

Vi vill ha texten på etiketten dynamiskt framtagen. Men för nu, låt oss fokusera på att använda fältet Förnamn, som är DataCardValue16.

Datavalidering med hjälp av IsMatch och variabler

Vi gör detta till ett IF-uttalande. I grund och botten, om denna formel returnerar sant, vill vi att etiketten ska visa "Data Validation Error". Annars förblir det tomt.

Datavalidering med hjälp av IsMatch och variabler

Eftersom en IF-sats börjar med en logisk text kommer vi att infoga vår IsMatch-funktion här, som refererar till texten i fältet Förnamn. Detta representeras av DataCardValue16.Text.

Datavalidering med hjälp av IsMatch och variabler

Vi kommer också att följa upp det med det faktiska mönstret som vi vill att den här logiken ska leta efter. Låt oss lägga till Match.Digit.

Datavalidering med hjälp av IsMatch och variabler

Till sist vill vi lägga till några matchningsalternativ. Vi letar inte riktigt efter den exakta texten här. Istället vill vi bara matcha valfri siffra som texten innehåller. Så vi lägger till vår Contains-parameter.

Datavalidering med hjälp av IsMatch och variabler

Enkelt uttryckt frågar den här formeln, förekommer någon siffra någonstans i texten? Om den returnerar sant kommer etiketten att säga Data Validation Error. Om inte, förblir det tomt.

Låt oss prova det. Så om vi skriver Lewis i textrutan men använder 1 istället för I, visar etiketten Data Validation Error.

Datavalidering med hjälp av IsMatch och variabler

Lägg märke till att vi inte ens behövde skriva hela namnet färdigt. I samma ögonblick som vi skrev in 1 visade etiketten omedelbart felet.

Vi kan anpassa den här etiketten för att göra felet mer märkbart. Förutom att göra texten större, låt oss göra den röd för att indikera att det finns ett fel.

Datavalidering med hjälp av IsMatch och variabler

Så om slutanvändaren ser det här felet, säger den till dem att de har angett fel data och att de borde fixa det.

Datavalidering med hjälp av variabler

Även om vi har skapat en etikett som meddelar slutanvändaren om felet i den data de försöker mata in, kommer du att märka att vi fortfarande har en Skicka-knapp som de kan klicka på även om det finns ett fel. Vad vi vill ska hända är att knappen inte dyker upp när ett fel upptäcks.

Det finns två sätt att göra detta. Den första är en logisk och enklare väg att ta, medan den andra metoden kommer att vara mer komplicerad men kommer också att göra det lättare för dig när du börjar lägga till mer datavalidering på skärmen.

Låt oss börja med det första tillvägagångssättet.

Kopiera först hela formeln som används på vår etikett.

Datavalidering med hjälp av IsMatch och variabler

Markera sedan knappen, välj synlighetsegenskapen under rullgardinsmenyn och klistra in formeln i formelfältet. Detta ställer dynamiskt in knappens synlighet till denna logik.

Datavalidering med hjälp av IsMatch och variabler

Så om textrutan innehåller en siffra, kommer knappen inte att synas.

Datavalidering med hjälp av IsMatch och variabler

Låt oss se om det fungerar. Om jag ändrar bokstaven O i Coy till en nolla ser du att felet dyker upp och knappen Skicka försvinner.

Datavalidering med hjälp av IsMatch och variabler

Om vi ​​ändrar tillbaka detta till ett O kommer knappen tillbaka.

Datavalidering med hjälp av IsMatch och variabler

Problemet med detta tillvägagångssätt är att vi använder samma logik på två olika ställen - etiketten och knappen. Det betyder att om det finns något att ändra, måste du göra det på två olika ställen också. Detta kan bli tröttsamt, särskilt om du har lagt till mer valideringslogik senare.

För att lösa det problemet kommer vi att lägga till en annan knapp. Låt oss placera den nya knappen bredvid knappen Skicka.

Datavalidering med hjälp av IsMatch och variabler

Låt oss kalla detta för Validera-knappen.

Datavalidering med hjälp av IsMatch och variabler

Låt oss sedan lägga samma logik i den här knappen.

Datavalidering med hjälp av IsMatch och variabler

Det vi vill att den här knappen ska göra är att uppdatera en variabel åt oss, som uppdaterar sammanhanget.

Så låt oss ta bort den del av formeln som ber logiken att visa Data Validation Error och låt oss ändra det till UpdateContext.

Datavalidering med hjälp av IsMatch och variabler

Vi behöver det för att referera till en variabel, så låt oss skapa en variabel som heter Submit . Vi ställer in detta på falskt om valideringsfelet faktiskt inträffar.

Datavalidering med hjälp av IsMatch och variabler

Sedan följer vi omedelbart upp det med samma format, men den här gången ställer vi in ​​det till sant om textrutan inte innehåller en siffra.

Datavalidering med hjälp av IsMatch och variabler

Vad vi gjorde är att göra knapparnas synlighet beroende av variabeln vi skapade istället för på logiken. Så vi måste också ändra logiken på knappen Skicka och bara göra dess synlighet lika med Skicka, vilket är variabeln vi pratar om.

Datavalidering med hjälp av IsMatch och variabler

Så låt oss skriva in Coy i textrutan och sedan klicka på validera.

Datavalidering med hjälp av IsMatch och variabler

Som du kan se, dyker knappen Skicka upp efter att vi har gjort det.

Datavalidering med hjälp av IsMatch och variabler

Låt oss nu ändra O till en noll och låt oss klicka på validera. Den här gången försvinner knappen Skicka.

Datavalidering med hjälp av IsMatch och variabler

Nu när vi har fixat knapparna, låt oss ändra logiken i etiketten också. För närvarande innehåller den fortfarande den ursprungliga logiken med hjälp av IsMatch-funktionen.

Datavalidering med hjälp av IsMatch och variabler

Eftersom vi nu baserar vår logik på variabeln Submit, så vill vi byta mellan tom och fel. Så om Submit är sant vill vi att etiketten ska vara tom. Men om Submit är falskt vill vi att vår feltext ska dyka upp.

Datavalidering med hjälp av IsMatch och variabler

För att göra felmeddelandet lättare för slutanvändare att förstå, låt oss ändra det till "Möjligt datavalideringsfel – Klicka på Validera för att kontrollera".

Datavalidering med hjälp av IsMatch och variabler

För att testa den nya logiken vi använde, låt oss gå till en annan post för Anitra och klicka på ikonen Redigera.

Datavalidering med hjälp av IsMatch och variabler

Som du kan se finns det inget valideringsfel på den här sidan än.

Datavalidering med hjälp av IsMatch och variabler

Om jag ändrar Anitra till Anitr0 och klickar på Validera, är det då felmeddelandet kommer ut.

Datavalidering med hjälp av IsMatch och variabler

Att säkerställa en komplett valideringsprocess

På grund av hur vi har ställt in datavalideringsprocessen på den här skärmen finns det två möjliga problem som fortfarande skulle leda till att felaktig data skickas.

Det första problemet är att det är möjligt att hoppa över att klicka på knappen Validera eftersom knappen Skicka fortfarande är synlig om inte ett fel uppstår från valideringsprocessen. Så vi kan bara skriva in Alons5 till exempel, ignorera knappen Validera och trycka på knappen Skicka direkt.

Datavalidering med hjälp av IsMatch och variabler

Det andra problemet är att om vi validerar en korrekt post kan vi fortfarande gå tillbaka till textrutan och skriva in vad vi vill. Så om knappen Skicka dyker upp kan vem som helst enkelt gå tillbaka till textrutan, ange en siffra och klicka på knappen Skicka.

Datavalidering med hjälp av IsMatch och variabler

Vi måste göra Submit-variabeln falsk som standard. Vi måste också se till att när någon klickar på textrutan går allt tillbaka till standardläget.

Så låt oss gå till fältet Förnamn och välja På Välj i rullgardinsmenyn för egenskaper. Låt oss sedan använda UpdateContext och referera till Submit-variabeln. Sedan ställer vi in ​​det på falskt.

Datavalidering med hjälp av IsMatch och variabler

Nu, när någon klickar på textrutan, ber den automatiskt användaren att klicka på Validera först.

Datavalidering med hjälp av IsMatch och variabler

Så om jag försöker ändra förnamnet till Frank och klickar på Validera, är det enda gången som knappen Skicka dyker upp.

Datavalidering med hjälp av IsMatch och variabler

Men om jag går tillbaka till samma textruta och försöker lägga till 1 i slutet av Frank, går den direkt tillbaka till standardläget där felet dyker upp och knappen Skicka försvinner.

Datavalidering med hjälp av IsMatch och variabler




Slutsats

Datavalidering hjälper till att skydda vår data och säkerställer att slutanvändare inte skickar in fel register av misstag. Det vi har gått igenom i den här handledningen är faktiskt bara några av grunderna. Du kan lägga till så många typer av validering som du tycker är lämpligt.

Dessutom ställer vi bara in datavalidering för förnamnet. Du kan gå vidare och göra samma sak för efternamnet. Du kan till och med ställa in VIP-nivån eller passnumret för att bara visa siffror. Allt beror på vilka fält du vill tillämpa olika valideringsprocesser på.

Med vänliga hälsningar,

Henry


Upptäck unika insikter med LuckyTemplates TOPN-funktion

Upptäck unika insikter med LuckyTemplates TOPN-funktion

Den här bloggen innehåller LuckyTemplates TOPN DAX-funktion, som gör att du kan få unika insikter från dina data, vilket hjälper dig att fatta bättre marknadsföringsbeslut.

Datamodellering i LuckyTemplates med hjälp av stödtabeller

Datamodellering i LuckyTemplates med hjälp av stödtabeller

Lär dig några fantastiska analytiska tekniker som vi kan göra för datamodellering i LuckyTemplates med hjälp av DAX-stödtabeller.

Avancerad DAX för LuckyTemplates: Implementering av rankningslogik över unika insikter

Avancerad DAX för LuckyTemplates: Implementering av rankningslogik över unika insikter

Här dyker vi in ​​i LuckyTemplates Advanced DAX och implementerar rankningslogik för att få en mycket unik insikt. Jag visar också upp måttförgrening i det här exemplet.

LuckyTemplates What-If-parameterfunktion

LuckyTemplates What-If-parameterfunktion

Den här bloggen introducerar den nya funktionen i LuckyTemplates, analysparametern What-If. Du kommer att se hur det gör allt snabbt och enkelt för din scenarioanalys.

Använd LuckyTemplates Mät förgreningar för att kontrollera om dina marginaler ökar när intäkterna växer

Använd LuckyTemplates Mät förgreningar för att kontrollera om dina marginaler ökar när intäkterna växer

Lär dig hur du avgör om din intäktstillväxt är bra genom att kontrollera om dina marginaler ökade med hjälp av LuckyTemplates mäter förgrening.

LuckyTemplates parametrar via frågeredigerare

LuckyTemplates parametrar via frågeredigerare

Lär dig och förstå hur du kan skapa och använda LuckyTemplates-parametrar som är en kraftfull funktion i frågeredigeraren.

Runda stapeldiagram – En visualisering för din instrumentpanel

Runda stapeldiagram – En visualisering för din instrumentpanel

Denna handledning kommer att diskutera hur man skapar ett runt stapeldiagram med Charticulator. Du kommer att lära dig hur du designar dem för din LuckyTemplates-rapport.

PowerApps funktioner och formler | En introduktion

PowerApps funktioner och formler | En introduktion

Lär dig hur du använder PowerApps funktioner och formler för att förbättra funktionaliteten och ändra ett beteende i vår Power Apps canvas-app.

Pipe In R: Anslutningsfunktioner med Dplyr

Pipe In R: Anslutningsfunktioner med Dplyr

I den här handledningen kommer du att lära dig hur du kopplar ihop funktioner med hjälp av dplyr-röroperatorn i programmeringsspråket R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX från LuckyTemplates låter dig returnera rankningen av ett specifikt nummer i varje tabellrad som utgör en del av en lista med nummer.