Avatar billede styrelse Nybegynder
25. april 2000 - 20:34 Der er 10 kommentarer

Validering på serverniceau

Jeg skal bruge 2 funktioner til validering. Der indtastes i formfelter med navnene:

1. "cprnr" - der ønskes et modulus 11 test (cpr)

2. "karakter" - testes efter 13 skalaen
Avatar billede styrelse Nybegynder
25. april 2000 - 20:51 #1
Nu er det kun modulus 11 testet der er interessant...
Avatar billede sv Nybegynder
25. april 2000 - 20:55 #2
Nu ved jeg ikke lige hvad modulus 11 er vel ikke kommandoen "mod 11" vel ?
Men der er vel bare noget med

if request.form("cprnr") mod 11 = ?? then
'gør noget
elseif request.form("karakter")=4 or request.form("karakter")=12 or request.form("karakter")=3 or request.form("karakter")=0 then
'osv
end if ??

Jeg føler mig lidt på bar bund ?
Avatar billede sv Nybegynder
25. april 2000 - 20:56 #3
ups...der kom anderledes besked mens jeg skrev..
Avatar billede dta Nybegynder
26. april 2000 - 09:25 #4
Hvorledes man beregner CPR finder du på:

http://www.cpr.dk/modulus11_beregn.htm
Avatar billede sone Nybegynder
26. april 2000 - 09:26 #5
Det får da vist ikke for 60 point...
Avatar billede dta Nybegynder
26. april 2000 - 10:11 #6
Det skulle så være det!
<%
cpr="230769-0155"
cpr = Trim(replace(cpr,"-",""))
CCheck = "4327654321"
response.write cpr &"-"
For t = 1 to 10
    CSum = Csum + cbyte(mid(cpr,T,1))*cbyte(mid(CCheck,T,1))
    response.write Csum & "-"
next
response.write vBCrlf & CSum mod 11 & vBCrlf
response.write vBCrlf & Csum/11 & vBCrlf
If CSum mod 11 = 0 then
response.write "OK!"
else
response.write "Not OK!"
end if

%>
Avatar billede dta Nybegynder
26. april 2000 - 10:13 #7
Og uden test kode:

<%
cpr="230769-0155"
cpr = Trim(replace(cpr,"-",""))
CCheck = "4327654321"
For t = 1 to 10
    CSum = Csum + cbyte(mid(cpr,T,1))*cbyte(mid(CCheck,T,1))
next
If CSum mod 11 = 0 then
response.write "OK!"
else
response.write "Not OK!"
end if
%>
Avatar billede styrelse Nybegynder
26. april 2000 - 18:06 #8
Jeg får flg fejl:

Der opstod en Microsoft VBScript-kørselsfejl fejl '800a000d'

Typerne passer ikke sammen: 'cbyte'

Fejllinie: CSum = Csum + cbyte(mid(cpr,T,1))*cbyte(mid(CCheck,T,1))
Avatar billede sone Nybegynder
27. april 2000 - 08:06 #9
Brug Cint i stedet for cbyte
Avatar billede dta Nybegynder
27. april 2000 - 08:28 #10
cbyte skulle virke udemærket, i alle tilfælde på mit system. cint kan selvfølgelig bruges men er ikke nødvendig. Det du skal passe på er unødvendige tal eller tegn. Som du ser sortere jeg - fra men findes der andre "sjove" tegn i strengen får du nettop ovenstående problem. Der er bygge lidt formatering af strengen ind i ovenstående men den tage absolut ikke højde for alle ting.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester