Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Validering af bruger-input i.NET WebForms Valideringsmuligheder i ASP.NET Fordele og ulemper Server-side vs. client-side Formatering vs. Validering.

Lignende præsentationer


Præsentationer af emnet: "Validering af bruger-input i.NET WebForms Valideringsmuligheder i ASP.NET Fordele og ulemper Server-side vs. client-side Formatering vs. Validering."— Præsentationens transcript:

1 Validering af bruger-input i.NET WebForms Valideringsmuligheder i ASP.NET Fordele og ulemper Server-side vs. client-side Formatering vs. Validering

2 UML diagram over klasser til validering i C#

3 Eksempler på Regular Expressions Dansk telefonummer: [1-9]\d{3} \d{4} Et tal mellem 1 og 9, så 3 tal mere, et mellemrum og så 4 tal. Fornavn, evt. mellemnavne og et efternavn: \w+( \w+)+ 1-n bogstaver, så gentaget 1-n gange: et mellemrum og 1-n bogstaver. Email: \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* \w+ 1-n bogstaver ([-+.]\w+)* 0-n gange: enten -+ eller. og så 1-n bogstaver @ @ \w+ 1-n bogstaver ([-.]\w+)* 0-n gange: - eller. og så 1-n bogstaver \. et punktum (escape karakter foran) \w+ 1-n bogstaver ([-.]\w+)* 0-n gange: - eller. og så 1-n bogstaver

4 protected void PrimeValidate(object source, ServerValidateEventArgs args) { int indtastet = int.Parse(args.Value); bool isPrime = true; for (int i = 2; i < indtastet; ++i) { if (indtastet % i == 0) {isPrime = false; i = indtastet;}; } args.IsValid = isPrime; } function validatePrime(oSrc, args){ var indtastet = parseInt(args.Value); var isPrime = true; for (i = 2; i < indtastet; ++i) {if (indtastet % i == 0) {isPrime = false; i = indtastet;};} args.IsValid = isPrime; } string script; script = ""; script += " "; script += "function validatePrime(oSrc, args){"; … RegisterClientScriptBlock("validatePrime", script); CustomValidator til Primtal RegisterStartupScript("validatePrime", script); eller C# JS

5 ValidationSummary i WebForm

6 function kun_tal(key) { // Hvis en af betingelserne er opfyldt, så returneres - ellers ikke. // Accepterer følgende tegn: '0' - '9', '0' - '9’ (numerisk tastatur), // [backspace], [delete], [tab], [pil venstre], [pil højre], [f5], [RETURN] return ( (event.keyCode >= 48 && event.keyCode <= 57) || // ’0’ – ’9’ (event.keyCode >= 96 && event.keyCode <= 105) || // ’0’ – ’9’ (numerisk tastatur) (event.keyCode == 8) || // [backspace] (event.keyCode == 46) || // [delete] (event.keyCode == 9) || // [tab] (event.keyCode == 39) || // [pil venstre] (event.keyCode == 37) || // [pil højre] (event.keyCode == 116) || // [f5] (event.keyCode == 13) || // [RETURN] (Carriage Return) (event.keyCode == 10)// [RETURN] (Linefeed) ); }; Styring af input Clientside JS

7 +- Clientside validering Hurtigt – validering sker nu! Mulighed for popup- vinduer, som er langt mere tydelige for brugerne. Ikke så sikkert, da koden ligger i tekst i HTML- siden. Forskellige scripting- sprog. Serverside validering Sikkert udført på serveren. Flere muligheder for sprog. Langsomt - alle data og view-states skal omkring serveren, og tilbage igen med en ny side. Clientside vs. Serverside

8 Validering vs. Formatering Hvor paranoid man er Hvor usikker serveren er Hvor mange andre der har adgang til den samme database Kombination af det hele?

9 protected string Format(string tekst) { char space = ' '; char[] sep = new char[1]; sep[0] = space; string[] ord = tekst.Split(sep); string returTekst = ""; string tmp = ""; Label2.Text = ""; Label2.Text += ord.Length.ToString() + " "; for(int i = 0; i < ord.Length; i++) // Et ord ad gangen { tmp = ord[i].ToLower(); // Sæt det hele til små bogstaver tmp = tmp.Substring(0,1).ToUpper() + tmp.Substring(1, tmp.Length -1); // Til stort if(tmp.Substring(0,2) == "Mc") // Efter “Mc” til stort – Skotske navne {tmp = tmp.Substring(0,2) + tmp.Substring(2,1).ToUpper() + tmp.Substring(3, tmp.Length -3);}; if(tmp.Substring(0,3) == "Mac") // Efter “Mac” til stort – Skotske navne {tmp = tmp.Substring(0,3) + tmp.Substring(3,1).ToUpper() + tmp.Substring(4, tmp.Length -4);}; // Yderligere kan så ændres “Von” til “von”, “De” til “de” o.s.v. returTekst += tmp + " "; } return returTekst.Trim(); } Formatering af indtastet navn eller adresse. C#


Download ppt "Validering af bruger-input i.NET WebForms Valideringsmuligheder i ASP.NET Fordele og ulemper Server-side vs. client-side Formatering vs. Validering."

Lignende præsentationer


Annoncer fra Google