JavaScript formu validācija
JavaScript var izmantot, lai apstiprinātu datus HTML formās pirms datu nosūtīšanas uz serveri.
Formas dati, kas parasti tiek pārbaudīti ar JavaScript var būt:
- ir lietotājs atstājis kādus nepieciešamos laukus tukšus?
- ir lietotājs ievadījis derīgu e-pasta adresi?
- ir lietotājs ievadījis derīgu datumu?
- ir lietotājs ievada tekstu skaitliskā laukā (ievadījis tekstu, tur kur jābūt skaitlim)?
Obligātie lauki (required fields)
Funkcija zemāk kontrolē, vai lauks ir atstāts tukšs. Ja lauks ir tukšs, trauksmes lodziņš brīdina lietotāju, funkcija atgriež false, un forma nav āpstiprināta, ja Jūs gadījumā nesaprotat kodu kas ir zemāk, iesaku apskatīt rakstus par funkcijām, nosacījumiem if, ka arī datu tipiem un protams zemāk ir PamēģiniPats piemērs, kur ja kas tiksiet skaidrībā:
function validateForm() //tiek definēta funkcija { var x=document.forms["myForm"]["fname"].value; //tiek //nolasīts formas ar nosaukumu myForm, ievades lauka //fname vērtība if (x==null || x=="") //tiek parbaudīts vai lauks ir tukšs { alert("First name must be filled out"); //jā ir tukšs //paziņojums lietotājam return false; //un funkcija atgriež false } }
Funkcija kas minēta iepriekš, varētu izsaukt tad, kad ir iesniegti ievades dati formā:
Piemērs
<form name="myForm" action="demo_form.asp" onsubmit="return validateForm()" method="post"> First name: <input type="text" name="fname"> <input type="submit" value="Submit"> </form>
Pamēģini pats »
E-pasta validācija
Funkcija zemāk kontrolēs, vai ievadītais saturs ir e-pasts (vispārīgā ziņā).
Tas nozīmē, ka izejas dati jāsatur @ zīmi, un vismaz vienu punktu (.). Arī @ nedrīkst būt pirmais simbols e-pasta adresē, un punktam ir jābūt klāt pēc @ zīmes, un vismaz 2 burtiem līdz adreses beigām, pateikšu Jums tā, ka tieši validācijas kodā zemāk man ir jāpiedomā, šobrīd uztveriet to kā piemēru, kā parbaudīt e-pasta adresi, tuvākā laikā es izveidošu jaunus rakstus par JS, kur būs detalizētāk par JS iebūvētām funkcijām, jo tās te ir izmantotas, tādas ka .indexOf() un .lastIndexOf() un .length, es pierakstīju ar punktu(.), jo tās funkcijas pašas neko neatgriež, ir nepiecišams mainīgas, kas šajā gadijumā ir x:
function validateForm() { var x=document.forms["myForm"]["email"].value; var atpos=x.indexOf("@"); var dotpos=x.lastIndexOf("."); if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length) { alert("Not a valid e-mail address"); return false; } }
Funkcija kas tikko tika definēta, varētu saukt tad, kad ir iesniegti formas dati:
Piemērs
<form name="myForm" action="demo_form.asp" onsubmit="return validateForm();" method="post"> Email: <input type="text" name="email"> <input type="submit" value="Submit"> </form>
Pamēģini pats »
|