Har en lång if-sats som kollar så att användaren uppfyller vissa kriterier innan den får registrera sig. Koden känns dock ganska lång och klumpig, det kanske finns ngt mkt bättre sätt att skriva på? göra den till en funktion också?
Hur skulle LarsG och ni andra göra? :-)
If Len(DeliverySurname) < 1 Then
session("empty") = "Du måste ange ett förnamn"
pass = "no"
ElseIf Len(DeliveryLastname) < 1 Then
session("empty") = "Du måste ange ett efternamn"
pass = "no"
ElseIf Len(DeliveryStreetname) < 1 Then
session("empty") = "Du måste ange en gatuadress"
pass = "no"
ElseIf Len(DeliveryZipcode) < 1 Then
session("empty") = "Du måste ange ett postnummer"
pass = "no"
ElseIf Len(DeliveryCity) < 1 Then
session("empty") = "Du måste ange en postadress"
pass = "no"
ElseIf Len(phone) < 1 Then
session("empty") = "Du måste ange ett telefonnummer"
pass = "no"
ElseIf Len(email) < 1 Then
session("empty") = "Du måste ange en e-postadress"
pass = "no"
ElseIf Len(password1) < 1 Then
session("empty") = "Du måste ange ett lösenord"
pass = "no"
ElseIf Len(password1) < 6 Then
session("empty") = "lösenordet måste innehålla minst 6 tecken"
pass = "no"
ElseIf Len(password2) < 1 Then
session("empty") = "Du måste bekräfta lösenordet"
pass = "no"
ElseIf NOT password1 = password2 Then
session("empty") = "lösenorden matchar ej varandra"
pass = "no"
Else
strEmail = "SELECT email FROM tb_customer WHERE email = '" & email & "'"
Set objEmail = Connection.Execute(strEmail)
IF NOT objEmail.EOF Then
session("empty") = "E-postadressen är upptagen"
pass = "no"
End If
End If
den fungerar, dock vill ha försöka optimera den. hur gör jag för att göra den till en funktion? lr är det en sub jag ska göra? har inte riktigt koll på d..
japp, sant, hade gärna velat ha att den postar tillbaks allt igen och visar alla de fält som inte är korrekt ifyllda med någon sorts "errorcode"
ngn duktig som har ngt förslag hur man gör d?
alltså, de värden som är ifyllda innan man postar formuläret kommer fortfarande vara ifyllda precis som nu, skillnaden är att jag vill att den skriver ut ex. "du måste fylla i blablabla" till höger om resp. textruta som inte är korrekt ifylld.
För att få med dig alla felaktigheter kan du kanske göra något likt detta: (Dock löser inte det din andra ide med en pekning på rätt fält.)
Dock om du väljer att kolla med javascript så kan du ju lätt kolla vilket fält som är tomt och ställa markören där.
If Len(DeliverySurname) < 1 Then
empty = "Du måste ange ett förnamn"
pass = "no"
End If
If Len(DeliveryLastname) < 1 Then
empty = empty & "Du måste ange ett efternamn"
pass = "no"
End If
'osv
session("empty") = empty
Sådär, det enda du behöver är ändra är två matriser (arrRequiredFields som innehåller de fältnamn som ska kontrolleras samt arrRequiredFieldsErrors som innehåller det felmeddelande som ska visas för det fältnamnet som ligger i samma index).
intIndex = 0
[red]arrRequiredFields = Array("DeliverySurname", "DeliveryLastname", "DeliveryStreetname")
arrRequiredFieldsErrors = Array("Förnamn saknas", "Efternamn saknas", "Gata saknas")[/red]
For Each Var In arrRequiredFields
If Len(Request.Form(Var)) < 1 Then
strErrorMessages = strErrorMessages & "<LI>" & arrRequiredFieldsErrors(intIndex)
intIndex = intIndex + 1
Next
If strErrorMessage <> "" Then
Session("empty") = strErrorMessages
End If
Sådär, det enda du behöver är ändra är två matriser (arrRequiredFields som innehåller de fältnamn som ska kontrolleras samt arrRequiredFieldsErrors som innehåller det felmeddelande som ska visas för det fältnamnet som ligger i samma index).
intIndex = 0
[red]arrRequiredFields = Array("DeliverySurname", "DeliveryLastname", "DeliveryStreetname")
arrRequiredFieldsErrors = Array("Förnamn saknas", "Efternamn saknas", "Gata saknas")[/red]
For Each Var In arrRequiredFields
If Len(Request.Form(Var)) < 1 Then
strErrorMessages = strErrorMessages & "<LI>" & arrRequiredFieldsErrors(intIndex)
intIndex = intIndex + 1
Next
If strErrorMessage <> "" Then
Session("empty") = strErrorMessages
End If
Var ska jag placera denna lilla kodsnutt för att få det att fungera ?
266 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2