När du har ett HTML-formulär igång, vill du ofta se till att alla viktiga fält fylls i. Om du till exempel skickar ett e-postbekräftelsebrev måste e-postadressen ingå i formulärfälten , och det ska vara en e-postadress som fungerar.
Det finns två sätt att validera dina formulär:
- Använda JavaScript
- Använda ett CGI-skript
Fördelarna med att använda JavaScript för att validera formulär
- Med javascript använder du inte någon serverprocessorstid. All bearbetning sker på klientdatorn.
- Det verkar ofta fungera snabbare än CGI-valideringen.
- Eftersom formulärsidan inte har ändrats är det lätt för läsaren att fixa felen.
Nackdelarna med att använda JavaScript för att validera formulär
- JavaScript fungerar bara på webbläsare som har aktiverat det. Om JavaScript är avaktiverat, blir din felkontroll inte klar.
Fördelarna med att använda CGI för validering av formulär
- Genom att använda en CGI för validering säkerställs att varje gång formuläret lämnas in kommer valideringen att köras.
Nackdelarna med att använda CGI för validering av formulär
- CGI lägger mer belastning på webbservern, och varje funktion som ingår i CGI är en ytterligare uppgift för servern.
- CGI kan vara långsam att köra.
- Om det finns ett fel måste kunden antingen gå tillbaka till den första sidan i formuläret eller CGI behöver en annan funktion för att skriva om formulärsidan.
Det sätt jag hanterar här är att få större delen av felkontrollen med JavaScript. På så sätt är det snabbt och enkelt för läsarna. Jag kontrollerar sedan de vitala delarna av formuläret med CGI.
Så här använder du JavaScript för att validera HTML-formulär
Den grundläggande förutsättningen för att skapa formulärvalidering är att leta efter namnen på formulärelement som krävs, och om de är tomma visas ett felmeddelande.
De flesta felkontrollprogrammen kontrollerar varje fält en åt gången och visar ett fel i taget. Detta kan göra att fylla i formuläret tråkigt, och folk kan sluta i mitten. Om du använder följande skript och Perl-källa kommer du att veta hur du validerar en hel blankett samtidigt och visar en serie felmeddelanden som din läsare sedan kan gå tillbaka och fixa.
JavaScript för att validera en blankett
I huvuddelen av din HTML bör du skapa ett skript för att göra formulärvalideringen:
- Ställ in skriptet och se till att det är gömt från webbläsare som inte kan hantera JavaScript.
Sedan, för att ringa skriptet, lägg ett usubmit-element i formtaggen:
CGI för validering av formulär
Detta Perl-skript CGI-fragmentet gör samma sak som JavaScript. Den kontrollerar om de obligatoriska fälten finns, och om inte, sparar ett felmeddelande till en variabel för visning:
#! / Usr / local / bin / perl$ error = "";om ($ i {'dd'} eq ""){ $ error + = "Välj från rullgardinsmenyn.';}om ($ i {'words'} eq ""){ $ error + = "Fyll i några ord i textrutan.';}# … fortsätt att validera alla fältom ($ fel) skriv ut "Innehållstyp: text / html n n"; skriva ut "
Ett fel har uppstått
'; skriv ut $ error; skriv ut "Vänligen gå tillbaka och korrigera dessa fel."; skriva ut "';} annat { # Fortsätt med CGI …}
Skillnaden med hur CGI skriver felmeddelandet är att istället för en " n" använder den HTML-punkttaggen för att sätta en ny linje mellan varje fel.
Och nu har du validerat din blankett
Med de två metoderna CGI och JavaScript har du validerat en HTML-form så att flera av de delar som skickas till dig är korrekta.




