PageRenderTime 46ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/lib/jquery-validate/demo/index.html

#
HTML | 230 lines | 213 code | 17 blank | 0 comment | 0 complexity | eef6b8c6f847d0812be91b481a2bb1a0 MD5 | raw file
Possible License(s): LGPL-2.1, Apache-2.0, BSD-3-Clause
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
  5. <title>jQuery validation plug-in - main demo</title>
  6. <link rel="stylesheet" type="text/css" media="screen" href="css/screen.css" />
  7. <script src="../lib/jquery.js" type="text/javascript"></script>
  8. <script src="../jquery.validate.js" type="text/javascript"></script>
  9. <script type="text/javascript">
  10. $.validator.setDefaults({
  11. submitHandler: function() { alert("submitted!"); }
  12. });
  13. $().ready(function() {
  14. // validate the comment form when it is submitted
  15. $("#commentForm").validate();
  16. // validate signup form on keyup and submit
  17. $("#signupForm").validate({
  18. rules: {
  19. firstname: "required",
  20. lastname: "required",
  21. username: {
  22. required: true,
  23. minlength: 2
  24. },
  25. password: {
  26. required: true,
  27. minlength: 5
  28. },
  29. confirm_password: {
  30. required: true,
  31. minlength: 5,
  32. equalTo: "#password"
  33. },
  34. email: {
  35. required: true,
  36. email: true
  37. },
  38. topic: {
  39. required: "#newsletter:checked",
  40. minlength: 2
  41. },
  42. agree: "required"
  43. },
  44. messages: {
  45. firstname: "Please enter your firstname",
  46. lastname: "Please enter your lastname",
  47. username: {
  48. required: "Please enter a username",
  49. minlength: "Your username must consist of at least 2 characters"
  50. },
  51. password: {
  52. required: "Please provide a password",
  53. minlength: "Your password must be at least 5 characters long"
  54. },
  55. confirm_password: {
  56. required: "Please provide a password",
  57. minlength: "Your password must be at least 5 characters long",
  58. equalTo: "Please enter the same password as above"
  59. },
  60. email: "Please enter a valid email address",
  61. agree: "Please accept our policy"
  62. }
  63. });
  64. // propose username by combining first- and lastname
  65. $("#username").focus(function() {
  66. var firstname = $("#firstname").val();
  67. var lastname = $("#lastname").val();
  68. if(firstname && lastname && !this.value) {
  69. this.value = firstname + "." + lastname;
  70. }
  71. });
  72. //code to hide topic selection, disable for demo
  73. var newsletter = $("#newsletter");
  74. // newsletter topics are optional, hide at first
  75. var inital = newsletter.is(":checked");
  76. var topics = $("#newsletter_topics")[inital ? "removeClass" : "addClass"]("gray");
  77. var topicInputs = topics.find("input").attr("disabled", !inital);
  78. // show when newsletter is checked
  79. newsletter.click(function() {
  80. topics[this.checked ? "removeClass" : "addClass"]("gray");
  81. topicInputs.attr("disabled", !this.checked);
  82. });
  83. });
  84. </script>
  85. <style type="text/css">
  86. #commentForm { width: 500px; }
  87. #commentForm label { width: 250px; }
  88. #commentForm label.error, #commentForm input.submit { margin-left: 253px; }
  89. #signupForm { width: 670px; }
  90. #signupForm label.error {
  91. margin-left: 10px;
  92. width: auto;
  93. display: inline;
  94. }
  95. #newsletter_topics label.error {
  96. display: none;
  97. margin-left: 103px;
  98. }
  99. </style>
  100. </head>
  101. <body>
  102. <h1 id="banner"><a href="http://bassistance.de/jquery-plugins/jquery-plugin-validation/">jQuery Validation Plugin</a> Demo</h1>
  103. <div id="main">
  104. <p>Default submitHandler is set to display an alert into of submitting the form</p>
  105. <form class="cmxform" id="commentForm" method="get" action="">
  106. <fieldset>
  107. <legend>Please provide your name, email address (won't be published) and a comment</legend>
  108. <p>
  109. <label for="cname">Name (required, at least 2 characters)</label>
  110. <input id="cname" name="name" class="required" minlength="2" />
  111. <p>
  112. <label for="cemail">E-Mail (required)</label>
  113. <input id="cemail" name="email" class="required email" />
  114. </p>
  115. <p>
  116. <label for="curl">URL (optional)</label>
  117. <input id="curl" name="url" class="url" value="" />
  118. </p>
  119. <p>
  120. <label for="ccomment">Your comment (required)</label>
  121. <textarea id="ccomment" name="comment" class="required"></textarea>
  122. </p>
  123. <p>
  124. <input class="submit" type="submit" value="Submit"/>
  125. </p>
  126. </fieldset>
  127. </form>
  128. <form class="cmxform" id="signupForm" method="get" action="">
  129. <fieldset>
  130. <legend>Validating a complete form</legend>
  131. <p>
  132. <label for="firstname">Firstname</label>
  133. <input id="firstname" name="firstname" />
  134. </p>
  135. <p>
  136. <label for="lastname">Lastname</label>
  137. <input id="lastname" name="lastname" />
  138. </p>
  139. <p>
  140. <label for="username">Username</label>
  141. <input id="username" name="username" />
  142. </p>
  143. <p>
  144. <label for="password">Password</label>
  145. <input id="password" name="password" type="password" />
  146. </p>
  147. <p>
  148. <label for="confirm_password">Confirm password</label>
  149. <input id="confirm_password" name="confirm_password" type="password" />
  150. </p>
  151. <p>
  152. <label for="email">Email</label>
  153. <input id="email" name="email" />
  154. </p>
  155. <p>
  156. <label for="agree">Please agree to our policy</label>
  157. <input type="checkbox" class="checkbox" id="agree" name="agree" />
  158. </p>
  159. <p>
  160. <label for="newsletter">I'd like to receive the newsletter</label>
  161. <input type="checkbox" class="checkbox" id="newsletter" name="newsletter" />
  162. </p>
  163. <fieldset id="newsletter_topics">
  164. <legend>Topics (select at least two) - note: would be hidden when newsletter isn't selected, but is visible here for the demo</legend>
  165. <label for="topic_marketflash">
  166. <input type="checkbox" id="topic_marketflash" value="marketflash" name="topic" />
  167. Marketflash
  168. </label>
  169. <label for="topic_fuzz">
  170. <input type="checkbox" id="topic_fuzz" value="fuzz" name="topic" />
  171. Latest fuzz
  172. </label>
  173. <label for="topic_digester">
  174. <input type="checkbox" id="topic_digester" value="digester" name="topic" />
  175. Mailing list digester
  176. </label>
  177. <label for="topic" class="error">Please select at least two topics you'd like to receive.</label>
  178. </fieldset>
  179. <p>
  180. <input class="submit" type="submit" value="Submit"/>
  181. </p>
  182. </fieldset>
  183. </form>
  184. <h3>Syntetic examples</h3>
  185. <ul>
  186. <li><a href="errorcontainer-demo.html">Error message containers in action</a></li>
  187. <li><a href="custom-messages-metadata-demo.html">Custom Messages as Metadata</a></li>
  188. <li><a href="radio-checkbox-select-demo.html">Radio and checkbox buttons and selects</a></li>
  189. <li><a href="ajaxSubmit-intergration-demo.html">Integration with Form Plugin (AJAX submit)</a></li>
  190. <li><a href="custom-methods-demo.html">Custom methods and message display.</a></li>
  191. <li><a href="dynamic-totals.html">Dynamic forms</a></li>
  192. <li><a href="themerollered.html">Forms styled with jQuery UI Themeroller</a></li>
  193. </ul>
  194. <h3>Real-world examples</h3>
  195. <ul>
  196. <li><a href="milk/">Remember The Milk signup form</a></li>
  197. <li><a href="marketo/">Marketo signup form</a></li>
  198. <li><a href="multipart/">Buy and Sell a House multipart form</a></li>
  199. <li><a href="captcha/">Remote captcha validation</a></li>
  200. </ul>
  201. <h3>Testsuite</h3>
  202. <ul>
  203. <li><a href="../test/">Validation Testsuite</a></li>
  204. </ul>
  205. </div>
  206. <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
  207. </script>
  208. <script type="text/javascript">
  209. _uacct = "UA-2623402-1";
  210. urchinTracker();
  211. </script>
  212. </body>
  213. </html>