Datavalidering - introduktion
Der findes 5 forskellige kontroller til datavalidering.
-
RequiredFieldValidator
-
CompareValidator
-
RegularExpressionValidator
-
RangeValidator
-
CustomValidator
RequiredFieldValidator
Bruges på felter der SKAL udfyldes. Når man har trukket kontrollen derhen, hvor den skal virke skal man i indstille den i properties vinduet - blandt andet fortælle hvilken kontol, den skal kontrollere og hvilken besked der skal skrives, hvis feltet ikke bliver udfyldt.
Validering på dropdown kontroller
Vil du sikre, at brugeren vælger noget andet end første element i en dropdown kontrol kan du også bruge requiredfieldvalidatoren - du skal bare i Initial value skrive værdien af det første element i dropdown kontrollen.
CompareValidator
Bruges til at kontrollere indholdet af en kontrol mod en anden kontrol eller en fast værdi. Også her skal man i properties vinduet indstille hvordan kontrollen skal virke
RegularExpressionValidator
Kan bruges til at sikre at det brugeren skriver i et felt opfylder et bestemt mønster - e-mail adresse, web-adresse, personnummer eller lign. Der findes en del standard mønstre i VS, men man kan naturligvis også selv opbygge det mønster man nu har brug for. Du kan finde en mere detaljeret gennemgang af opbygning af disse mønstre her
RangeValidator
Bruges til at sikre at brugeren indtaster informationer inden inden for et bestemt område - det kan både være tal, datoer og tekster. Sørg for at udfylde egenskaberne for kontrollen
CustomValidator
Her kan du skrive din egen kode til at styre valideringen. Når du har trukket validatoren ind på siden kan du dobbeltklikke på den for at komme til at skrive den kode der skal knyttes til validatoren.
Du kan se et eksempel her
Validering af checkboxe
Se eksempel på, hvordan man kan gøre det her:
http://wikiaspnet.wordpress.com/2008/08/22/validate-checkbox/
Aktivér validering
Validering sker ikke bare af sig selv - det udløses af et event - som regel at brugeren klikker på en knap.
Det er bare ikke altid man ønsker at en knap skal udløse validering og det kan styres med en egenskab på knappen, der hedder CausesValidation - du finder den ude i egenskabsboksen til højre.
Er valideringen gået godt?
Du kan fra din kode tjekke om en validering er gået godt - det gør du med egenskaben IsValid som Page objektet har:
protected void butSubmit_Click(object sender, EventArgs e)
{
if (Page.IsValid)
lblMessage.Text = "Alt er i orden :-)";
}
Protected Sub btnSend_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSend.Click
If Page.IsValid Then
lblMessage.Text = "Alt er i orden :-)";
End If
End Sub
Valideringsgrupper
Hvis du kigger godt efter i valideringskontrollernes egenskaber kan du finde en egenskab, der hedder ValidationGroup. Den kan, som navnet antyder, bruges til at placere valideringskontroller i grupper.
Tilsvarende har knap kontrollen også en ValidationGroup egenskab så man kan styre hvilke valideringsgruppe, der skal aktiveres når der klikkes på knappen.
SetFocusOnError
En sidste egenskab vi skal kigge på er SetFocusOnError, som valideringskontrollerne har. Sættes den til true vil den kontrol der valideres få fokus, hvis valideringen ikke er gået godt.