Guest User

Untitled

a guest
Oct 21st, 2017
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.21 KB | None | 0 0
  1. <form class="form-horizontal" name="paymentInformation" id="paymentInformation" action="verifyOrder.cfm" method="post" role="form">
  2.  
  3. <div class="form-group">
  4. <fieldset class="col-sm-12">
  5.  
  6. <!-- Row 1 -->
  7. <div class="row">
  8. <div class="col-sm-6">
  9. <label for="booktype" class="col-6 col-form-label">
  10. Book Type *
  11. </label>
  12. <select class="custom-select col-4" id="booktype" name="booktype">
  13. <option selected value="">Select book type</option>
  14. <option value="val1">E-BOOK</option>
  15. </select>
  16. </div>
  17.  
  18. <div class="col-sm-6">
  19. <label for="id2" class="col-6 col-form-label">
  20. Number
  21. </label>
  22. <input type="form-control" placeholder="Number" type="text" id="id2" name="id2" class="col-10">
  23. </div>
  24.  
  25. </div>
  26. <!-- /Row 1 -->
  27. <!-- Row 2 -->
  28. <div class="row">
  29. <div class="col-sm-6">
  30. <label for="firstname" class="col-6 col-form-label">
  31. First Name *
  32. </label>
  33. <input type="form-control" type="text" id="firstname" name="firstname" class="col-12" placeholder="Name">
  34. </div>
  35. <div class="col-sm-6">
  36. <label for="id2" class="col-6 col-form-label">
  37. Book Name
  38. </label>
  39. <input type="form-control" placeholder="Book Name" type="text" id="id3" name="id3" class="col-10">
  40. </div>
  41. </div>
  42. <!-- /Row 2 -->
  43. <div class="row">
  44. <div class="col-sm-6">
  45. <label for="lastname" class="col-6 col-form-label">
  46. Last Name *
  47. </label>
  48. <input type="form-control" type="text" id="lastname" name="lastname" class="col-12" placeholder="Name">
  49. </div>
  50. </div>
  51. <!-- /Row 2 -->
  52. <label for="description" class="col-10 col-form-label">
  53. Country description
  54. </label>
  55. <textarea id="description" name="description" rows="4" class="form-control txtarea-rounded"></textarea>
  56. <div class="form-check">
  57. <label class="col-sm-6">Countries: </label>
  58. <br />
  59. <label class="form-check-label col-10">
  60. <input class="form-check-input col-10" type="checkbox" name="usa" value="Y">USA
  61. <br />
  62. <input class="form-check-input col-10" type="checkbox" name="uk" value="Y"> UK
  63. </label>
  64. </div>
  65.  
  66. </fieldset>
  67. </div>
  68. <div class="hideDiv">
  69. <input type="submit" name=btnSubmit value="PROCEED TO THE NEXT STEP &#xf054;" class="blueButton">
  70. </div>
  71. </form>
  72.  
  73. var authorlist = [{"AUTHOR":"DONNA
  74. EDWARDS","COUNTRY":"USA","REGION":"MIDWEST"},{"AUTHOR":"EMERALD
  75. JONES","COUNTRY":"UK","REGION":"EU"},
  76. {"AUTHOR":"SHAKESPEARE","COUNTRY":"UK","REGION":"EU"}];
  77.  
  78. function checkName(){
  79. var nameIsValid = true;
  80. var nametocheck = $("#id3").val();
  81. $.each(authorlist, function(index, val){
  82. //console.log(val.AUTHOR);
  83. if(val.AUTHOR.toUpperCase() == nametocheck.toUpperCase()){
  84. //console.log(val.AUTHOR);
  85. nameIsValid = false;
  86. return false;
  87. }
  88. });
  89. return nameIsValid;
  90. }
  91.  
  92. $("#id3").on("blur", function(){
  93. if(!checkName()){
  94. //display error: This Book name already exists!
  95. }
  96. else{
  97. //remove error message
  98. }
  99. console.log("The name entered is valid: " + checkName());
  100. });
  101.  
  102.  
  103. function checkForm() {
  104. var formIsValid = checkName() && $("#paymentInformation").valid();
  105. if (formIsValid) {
  106. $(".hideDiv").show();
  107. } else {
  108. $(".hideDiv").hide();
  109. }
  110. }
  111.  
  112. $("#booktype").on("change", function() {
  113. checkForm();
  114. });
  115.  
  116. $("#paymentInformation").on("keyup", function() {
  117. checkForm();
  118. });
  119.  
  120. // first custom rule
  121. $.validator.addMethod("valueNotEquals", function(value, element, arg) {
  122. return arg !== value;
  123. }, "Value must not equal arg.");
  124.  
  125. //2ND CUSTOM RULE - THIS RULE PARTIALLY WORKS, BUT ERROR DOES NOT DISPLAY
  126. $.validator.addMethod("booknameExists", function(value,element,arg){
  127.  
  128. }, "Book name must not pre-exist");
  129.  
  130. $.validator.setDefaults({
  131. errorElement: "span",
  132. errorClass: "help-block",
  133. highlight: function(element) {
  134. $(element).parent().removeClass('has-success').addClass('has-error');
  135. },
  136. unhighlight: function(element) {
  137. $(element).parent().removeClass('has-error').addClass('has-success');
  138. },
  139. errorPlacement: function(error, element) {
  140. if (element.parent('.input-group').length || element.prop('type') ===
  141. 'checkbox' || element.prop('type') === 'radio') {
  142. error.insertAfter(element.parent());
  143. } else {
  144. error.insertAfter(element);
  145. }
  146. }
  147. });
  148.  
  149. $("#paymentInformation").validate({
  150. rules: {
  151. 'booktype': {
  152. valueNotEquals: ""
  153. },
  154. 'firstname': {
  155. required: true,
  156. maxlength: 200
  157. },
  158. 'lastname': {
  159. required: true,
  160. maxlength: 200
  161. },
  162. 'id3': {
  163. required: true,
  164. maxlength: 100,
  165. booknameExists: false
  166.  
  167. }
  168. },
  169. messages: {
  170. 'booktype': {
  171. valueNotEquals: "Select a book type.",
  172. },
  173. 'firstname': {
  174. required: "Enter your First Name.",
  175. maxlength: "Your First Name cannot exceed 200 characters"
  176. },
  177. 'lastname': {
  178. required: "Enter your Last Name.",
  179. maxlength: "Your Last Name cannot exceed 200 characters"
  180. },
  181.  
  182. //THE FIRST 2 STANDARD BUILT IN ERROR MESSAGES ARE DISPLAYED CORRECTLY,
  183. //BUT THE LAST CUSTOM ERROR MESSAGE - booknameExists - DOES NOT
  184. 'id3': {
  185. required: "Book name is required.",
  186. maxlength: "Book name cannot exceed 200 characters",
  187. booknameExists: "Book name already exists!"
  188. }
  189. }
  190. });
  191.  
  192. .hideDiv {
  193. display: none;
  194. }
  195.  
  196. .has-error {
  197. color: red;
  198. }
Add Comment
Please, Sign In to add comment