Ik ben bezig om een inlog-naam en een wachtwoord te checken wanneer deze zijn gesubmitted.
Nu wil ik deze twee velden apart checken met een reguliere expresse. En ik ben echt nog totaal n00b op het gebied van ASP.NET en C#. Ik kom namelijk van PHP af (kon redelijke mee overweg).
Ik had de volgende code bedacht:
Maar nu doet deze code dus niet wat ik wil. Hij zet altijd een error, ook al weet ik zeker dat ik de expressie match. Om dit te testen heb ik de volgende code even ipv bovenstaande code neergezet:
En het rare is, dit werkt wel goed ?! Ik krijg gewoon netjes True of False te zien zoals het hoort. Ik heb ook al een andere IF statement geprobeerd
Ik zie door de bomen even het bos niet meer. Ben toch nog niet zo ervaren hierin en zou graag even weten waarom dit niet werkt.
Alvast bedankt.
Nu wil ik deze twee velden apart checken met een reguliere expresse. En ik ben echt nog totaal n00b op het gebied van ASP.NET en C#. Ik kom namelijk van PHP af (kon redelijke mee overweg).
Ik had de volgende code bedacht:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| //Gebruiker wil gaan inloggen //Server-side velden checken //variable voor error-code declareren en op 0 zetten (=geen fouten) int error = 0; //reguliere expressie zetten; letters en cijfers en tussen de 3 en 25 tekens Regex inlogControle = new Regex(@"^[\w]{3,25}$"); //Als er geen match is dan een foutcode zetten if (inlogControle.IsMatch(inlogNaam.Text) == false) { error = 3; } //Hier weer een expressie zetten Regex wachtwoordControle = new Regex(@"^[\w]{4,12}$"); //Als er geen match is dan een foutcode zetten if (wachtwoordControle.IsMatch(wachtwoord.Text) == false) { error = 8; } //Als er een error code is gezet word de gebruiker doorgestuurd naar een pagina die aan de //hand van een SWITCH statement een foutmelding laat zien. if (error != 0) { Response.Redirect("error.aspx?error=" + error, true); } //velden kloppen, verder met inloggen //rest van de code hieronder |
Maar nu doet deze code dus niet wat ik wil. Hij zet altijd een error, ook al weet ik zeker dat ik de expressie match. Om dit te testen heb ik de volgende code even ipv bovenstaande code neergezet:
C#:
1
2
3
4
5
6
| //Weer een expressie maken Regex wachtwoordControle = new Regex(@"^[\w]{4,12}$"); //Nu komt er dus True of False op de pagina te staan, afhankelijk van of //hij match't of niet Response.Write(wachtwoordControle.IsMatch(wachtwoord.Text)); |
En het rare is, dit werkt wel goed ?! Ik krijg gewoon netjes True of False te zien zoals het hoort. Ik heb ook al een andere IF statement geprobeerd
C#:
1
2
3
4
5
| //Andere statement, mag ook niet baten if (!inlogControle.IsMatch(inlogNaam.Text)) { error = 3; } |
Ik zie door de bomen even het bos niet meer. Ben toch nog niet zo ervaren hierin en zou graag even weten waarom dit niet werkt.
Alvast bedankt.