Advertisement
Guest User

Untitled

a guest
Apr 19th, 2014
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.82 KB | None | 0 0
  1. function validateForm(){
  2. var validEmail, validSubject, validComment = true;
  3. var validDocument = true;
  4.  
  5. var emailEntry =document.forms["contact_form"]["email"].value;
  6. var pattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,6}$/;
  7. if (!pattern.test(emailEntry)) {
  8. //Not a valid email
  9. validEmail = false;
  10. }
  11. var subjectEntry = document.forms["contact_form"]["subject"].value;
  12. if(subjectEntry.length < 6) {
  13. //Not a valid subject
  14. validSubject = false;
  15. }
  16. var commentsEntry = document.forms["contact_form"]["comments"].value;
  17. if(commentsEntry.length < 50) {
  18. //Not a valid comment
  19. validComment = false;
  20. }
  21.  
  22. var err1 = document.getElementById("email_error");
  23. var err2 = document.getElementById("subject_error");
  24. var err3 = document.getElementById("comment_error");
  25.  
  26. if(!validEmail) {
  27. //make error messages visible
  28. validDocument = false;
  29. err1.style.visibility = "visible";
  30. } else {
  31. err1.style.visibility = "hidden";
  32. }
  33.  
  34. if(!validSubject) {
  35. //make error messages visible
  36. validDocument = false;
  37. err2.style.visibility = "visible";
  38. } else {
  39. err2.style.visibility = "hidden";
  40. }
  41.  
  42. if(!validComment) {
  43. //make error messages visible
  44. validDocument = false;
  45. err3.style.visibility = "visible";
  46. } else {
  47. err3.style.visibility = "hidden";
  48. }
  49.  
  50. if(!validDocument) {
  51. var container = document.getElementById("errors");
  52. container.style.visibility = "visible";
  53. return false;
  54. } else {
  55. return true;
  56. }}
  57.  
  58. <div id="contact_fields">
  59. <form name="contact_form" onSubmit="return validateForm()" method="post" action="form_mailer.php">
  60.  
  61. <font class="form_headers" face="Arial, Helvetica, sans-serif" size="4" color="#FFF">
  62. Your e-mail address :
  63. </font>
  64.  
  65. <br><input type="text" name="email" id="email" value="" size="40"
  66. style="height:10%;font-size:1.3vw;">
  67. <br><br><br><br>
  68.  
  69.  
  70. <font class="form_headers" face="Arial, Helvetica, sans-serif" size="4" color="#FFF">
  71. Subject :
  72. </font>
  73.  
  74. <br><input type="text" name="subject" id="subject" value="" size="40"
  75. style="height:10%;font-size:1.3vw;">
  76. <br><br><br><br>
  77.  
  78.  
  79. <font class="form_headers" face="Arial, Helvetica, sans-serif" size="4" color="#FFF">
  80. Message :
  81. </font>
  82.  
  83. <br><textarea name="comments" id="comments" rows="8" cols="40"
  84. style="font-size:1.3vw;"></textarea>
  85. <br>
  86. <font face="Arial, Helvetica, sans-serif" size="2" color="#FFF">
  87. &bull; You must fill in all fields in order to submit.
  88. </font>
  89. <br>
  90. <input type="submit" name="Submit" value="submit" style="float:right;">
  91. </form>
  92.  
  93.  
  94. </div>
  95.  
  96.  
  97.  
  98. <div id="errors" style="visibility:hidden">
  99. <p><font id="email_error" face="Arial, Helvetica, sans-serif" style="visibility:hidden" color="#FF0000">
  100. *Enter a valid e-mail</font></p>
  101. <p><font id="subject_error" face="Arial, Helvetica, sans-serif" style="visibility:hidden" color="#FF0000">*Subject must be at least 6 characters</font></p>
  102. <p><font id="comment_error" face="Arial, Helvetica, sans-serif" style="visibility:hidden" color="#FF0000">*Message must be at least 50 characters</font></p>
  103. </div>
  104.  
  105. function validator(/*fn, args */) {
  106. var predicate = arguments[0];
  107. var args = Array.prototype.splice.call(arguments, 1);
  108.  
  109. return function() {
  110. return (predicate.apply(null, arguments) == true);
  111. };
  112. };
  113.  
  114. var isEmail = validator(function(email) {
  115. return /^w+@[a-zA-Z_]+?.[a-zA-Z]{2,3}$/.test(email);
  116. });
  117.  
  118. var isStringLengthGreaterThan = validator(function(value, length) {
  119. return (value.length > length);
  120. });
  121.  
  122. function isFieldValid(formId, domId, validatorFn) {
  123. var args = Array.prototype.splice.call(arguments, 3);
  124. args.unshift( document.forms[formId][domId].value );
  125. return validatorFn.apply(null, args);
  126. };
  127.  
  128. function validateForm(){
  129. var validFields = [
  130. isFieldValid('contact_form', 'email', isEmail),
  131. isFieldValid('contact_form', 'subject', isStringLengthGreaterThan, 6),
  132. isFieldValid('contact_form', 'comments', isStringLengthGreaterThan, 50)
  133. ];
  134.  
  135. var errorDomId = ["email_error", "subject_error", "comment_error"];
  136.  
  137. validFields.forEach(function(isValid, index) {
  138. if ( isValid == false) {
  139. document
  140. .getElementById(errorDomId[index])
  141. .style
  142. .visibility = 'visible';
  143. };
  144. });
  145.  
  146. if (validFields.indexOf(false) > -1) {
  147. var container = document.getElementById("errors");
  148. container.style.visibility = "visible";
  149. }
  150.  
  151. return (validFields.indexOf(false) == -1);
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement