10. september 2006 - 11:00Der er
16 kommentarer og 1 løsning
Kontrol af cpr nr. og dato i en textbox
Hvordan laver man en textbox, hvor de kun kan skrive en dato som xx-xx-xxxx og hvordan laver man en textbox, hvor man kan skrive et cpr nr. som xxxxxx-xxxx, så man er sikker på at de ikke skriver forkert?
Hvad angår det at lave modulus-11 tjek på CPR-nummeret, så vil jeg anbefale at man lader være. Der er kun ganske få år til at CPR-registrer dropper dette tjek:
... tror selv at jeg ville nøjes med at tjekke om datodelen var en lovlig dato, samt eventuelt om de sidste ciffer stemmer med kønnet på personen (hvis du har dette).
Disse tjek bør under alle omsændigheder laves selvom du også laver et modulus-aa tjek.
Ikke helt forstået, hvad mener du med et eksempel?
Hvis du bruger Visual Studio skal du simpelthen trække en DateTimePicker-kontrol ind på det sted hvor du lige nu har en TextBox-kontrol til dit datofelt.
Jeg bruger visual web developer 2005 express edition og jeg synes ikke jeg kan finde den datetimepicker, er der et eller andet jeg skal have slået til for at se den?
Jeg bruger selv Visual Studio Professionel, men jeg kan ikke se nogen grund til at DateTimePicker ikke også skulle være at finde i Express.
Hvis du ikke allerede har Toolbox ude i venstre side, starter du med at gå op under menuen View og vælger her Toolbox.
Derefter kigger du - i Toolbox - enten under "All Windows Forms" hvor at den bør ligge lige under "DataSet" kontrollen, eller under "Common Controls" hvor den bør ligge lige under "ComboBox".
Din form skal dog være i Design-view, ellers ser du slet ingen kontroller i Toolbox.
Hov, du skriver at du bruger "visual web developer" ... det er altså en web-applikation du er ved at lave. Det burde du nok have nævnt allerede fra starten. Faktisk har Eksperten en kategori til dette formål (ASP.Net) og derfor er det mest Windows-kode som præsenteres her i denne kategori.
Glem bare det vi hare skrevet indtil nu ... det gælder for Windows-applikationer. I en web-applikation gøres det anderledes:
Når du har en TextBok på din side kan du f.eks. trække en RegularExpressionValidator ind på siden. Sæt dennes ControlToValidate lig med din TextBox.
Hvis TextBox'en skal validere et CPR-nummer, på formen "123456-7890", gøres dette ved at sætte RegularExpressionValidator'ens ValidationExpression til:
\d{6}-\d{4}
Sæt også dens ErrorMessage til noget sigende.
Hvis TextBox'en skal validere en dato på formen 26-09-2006, gøres det ved at sætte ValidationExpression til:
\d{2}-\d{2}-\d{4}
- eller:
\d{1,2}-\d{1,2}-\d{4}
- hvis det også skal være lovligt at skrive 26-9-2006.
Hvis mønsteret skal udvides til at udelukke ulovlige datoer, f.eks. 99-99-9999, kan man lave forskellige variationer på dette. Alternativt kan du vælge at bruge en Calendar da du så er helt sikker på at der også tages højde for skudår.
Til det formål kan du enten vælge at bruge en RangeValidator, eller du kan bruge en RegularExpressionValidator med mønsteret:
\d+
hvis det skal være et heltal) eller
\d+(,d+)
hvis det skal være et kommatal.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.