Skip to content
Skip to search - Accesskey = s
parentNode.org
The building blocks of a solid frontend.
Pasted
by
FormValidator()
on
2007-07-13 10:25
as
JavaScript
Create New
http://pastebin.parentnode.org/
Links this one
http://pastebin.parentnode.org/18331
Comment
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Fan Club</title> <link href="css/style.css" rel="stylesheet" type="text/css" /> <script type="text/javascript"> function FormValidator() { this.errorList = new Array; this.isEmpty = isEmpty; this.isNumber = isNumber; this.isWithinRange = isWithinRange; this.isChecked = isChecked; this.isAlphabetical = isAlphabetical; this.isAlphaNumerical= isAlphaNumerical; this.isEmailAdress = isEmailAdress; this.raiserError = raiseError; this.numErrors = numErrors; this.getErrors = getErrors; } function isEmpty(value) { if(value = match(/^s+$/) || value == "") { return true; } else { return false; } } function isNumber(value) { if(isNaN(value)) { return false; } else { return true; } } function isWithinRange(value, min, max) { if(val >= min && val <= max) { return true; } else { return false; } } function isChecked(obj) { if(obj.checked) { return true; } else { return false; } } function isAlphabetical(value) { if (value.match(/^[a-zåäöA-ZÅÄÖ]+$/)) { return true; } else { return false; } } function isAlphaNumerical(value) { if (value.match(/^[a-zåäöA-ZÅÄÖ0-9]+$/)) { return true; } else { return false; } } function isEmailAdress(value) { if (val.match(/^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-]+)+$/)) { return true; } else { return false; } } function raiseError(message) { this.errorList.push(message); } function numErrors() { return this.errorList.length; } function getErrors() { var errorMsg = ""; for(i = 0; i < this.errorList.length; i++) { errorMsg += this.errorList[i]; } return errorMsg; } </script> <script type="text/javascript" src="js/jquery-1.1.3.1.js"></script> <script type="text/javascript"> <!-- function validate() { fv = new FormValidator(); //Namn if(fv.isEmpty(document.forms[0].elements[0].value)) { fv.raiseError("Namnet måste vara ifyllt"); return false; } return false; if(!fv.isAlphabetical(document.forms[0].elements[0].value)) { fv.raiseError("Namnet kan bara innehålla bokstäver a-ö"); } //Email if(fv.isEmpty(document.forms[0].elements[3].value)) { fv.raiseError("E-mailen måste vara ifylld"); } if(!fv.isEmailAdress(document.forms[0].elements[3].value)) { fv.raiseError("Fyll i en korrekt e-mail adress"); } //Födelsedatumsfälten var notNumber; var isEmpty; for(i = 4; i < 7; i++) { condition = fv.isEmpty(document.forms[0].elements[i].value); if(condition) { isEmpty = true; } condition = fv.isNumber(document.forms[0].elements[i].value); if(!condition) { notNumber = true; } } if(notNumber) { fv.raiseError("Födelsedatumet får bara vara nummer"); } if(isEmpty) { fv.raiseError("Födelsedatumet måste vara ifyllt"); } if(!fv.isWithinRange(document.forms[0].elements[4].value, 1900, 2007)) { fv.raiseError("Årtalet måste vara mellan 1900 och 2007"); } if(!fv.isWithinRange(document.forms[0].elements[5].value, 1, 12)) { fv.raiseError("Månaden får inte vara mer än 12"); } if(!fv.isWithinRange(document.forms[0].elements[6].value, 1, 31)) { fv.raiseError("Dagen måste vara mellan 1 och 31"); } //Kommentar if(fv.isEmpty(document.forms[0].elements[7]).value) { fv.raiseError("Kommentaren måste vara ifylld"); } //Kolla om fel uppstått if(fv.numErrors() > 0) { msg = ""; errors = fv.getErrors(); for(i = 0; i < errors.length; i++) { msg += errors[i] + "\n"; } $("p.error").show("slow").html(msg); return false; } else { return false; } } //--> </script> </head> <body> <div> <p> <form method="post" action="postMember.php" enctype="multipart/form-data" onSubmit="return validate()"> <table> <tr> <td> Namn: </td> <td> <input type="text" name="name" maxlength="50" /> </td> </tr> <tr> <td> Kön: </td> <td> Kvinna <input type="radio" name="sex" value="0" checked="checked" /> Man <input type="radio" name="sex" value="1" /> </td> </tr> <tr> <td> E-mail: </td> <td> <input type="text" name="email" maxlength="100" /> </td> </tr> <tr> <td> Födelsedatum: </td> <td> Å<input type="text" name="year" size="2" maxlength="4" /> M<input type="text" name="month" size="1" maxlength="2" /> D<input type="text" name="day" size="1" maxlength="2" /> </td> </tr> <tr> <td> Kommentar: </td> <td> <textarea rows="4" cols="20" name="comment"></textarea> </td> </tr> <tr> <td> Bild<span style="color: red;">*</span>: </td> <td> <input type="file" name="img" style="border: solid 1px black;" /> </td> </tr> <tr> <td> <input type="submit" name="submit" value="Join the party" /> </td> </tr> </table> </form> <br /> <span style="color: red;">*</span>Fältet behövs inte fyllas i. <p id="error"></p> </p> </div> </body> </html>