jquery.validate.getpass.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. /* ============================================================
  2. * jquery.validate.getpass.js 找回密码验证
  3. * ============================================================ */
  4. (function($) {
  5. 'use strict';
  6. // 验证是否被注册
  7. $.validator.addMethod('IsRegistered', function(value, element) {
  8. var result = false, eletype = element.name;
  9. $.ajax({
  10. url: check_url+find_type,
  11. cache: false,
  12. async: false,
  13. type: 'post',
  14. dataType: 'json',
  15. data: { type: eletype, param: value },
  16. error: function(json) {
  17. result = true;
  18. }
  19. });
  20. return result;
  21. }, '已被注册');
  22. $("#getPassByMobileForm").validate({
  23. submitHandler:function(form) {
  24. requestByMobile();
  25. },
  26. rules: {
  27. mobile: {
  28. required: true,
  29. match: regularMobile,
  30. IsRegistered: true
  31. },
  32. mobile_vcode: {
  33. required: true,
  34. match: /\d{6}$/
  35. }
  36. },
  37. messages: {
  38. mobile: {
  39. required: '<div class="ftxt">请输入手机号码</div><div class="fimg"></div>',
  40. match: '<div class="ftxt">手机号格式不正确</div><div class="fimg"></div>',
  41. IsRegistered: '<div class="ftxt">该手机号没有注册账号</div><div class="fimg"></div>'
  42. },
  43. mobile_vcode: {
  44. required: '<div class="ftxt">请输入验证码</div><div class="fimg"></div>',
  45. match: '<div class="ftxt">手机验证码为6位纯数字</div><div class="fimg"></div>'
  46. }
  47. },
  48. errorClasses: {
  49. mobile: {
  50. required: 'tip err',
  51. match: 'tip err',
  52. IsRegistered: 'tip err'
  53. },
  54. mobile_vcode: {
  55. required: 'tip err',
  56. match: 'tip err'
  57. }
  58. },
  59. tips: {
  60. mobile: '<div class="ftxt">请填写账户绑定的手机号</div><div class="fimg"></div>',
  61. mobile_vcode: '<div class="ftxt">请输入手机验证码</div><div class="fimg"></div>'
  62. },
  63. tipClasses: {
  64. mobile: 'tip',
  65. mobile_vcode: 'tip'
  66. },
  67. errorElement: 'div',
  68. errorPlacement: function(error, element) {
  69. element.closest('.J_validate_group').find('.J_showtip_box').append(error);
  70. },
  71. success: function(label) {
  72. label.append('<div class="ok"></div>');
  73. }
  74. });
  75. $("#getPassByEmailForm").validate({
  76. submitHandler:function(form) {
  77. requestByEmail();
  78. },
  79. rules: {
  80. email: {
  81. required: true,
  82. email: true,
  83. IsRegistered: true
  84. }
  85. },
  86. messages: {
  87. email: {
  88. required: '<div class="ftxt">请输入邮箱</div><div class="fimg"></div>',
  89. email: '<div class="ftxt">邮箱格式不正确</div><div class="fimg"></div>',
  90. IsRegistered: '<div class="ftxt">该邮箱没有注册账号</div><div class="fimg"></div>'
  91. }
  92. },
  93. errorClasses: {
  94. email: {
  95. required: 'tip err',
  96. email: 'tip err',
  97. IsRegistered: 'tip err'
  98. }
  99. },
  100. tips: {
  101. email: '<div class="ftxt">请填写账户绑定的常用邮箱</div><div class="fimg"></div>'
  102. },
  103. tipClasses: {
  104. email: 'tip'
  105. },
  106. errorElement: 'span',
  107. errorPlacement: function(error, element) {
  108. element.closest('.J_validate_group').find('.J_showtip_box').append(error);
  109. },
  110. success: function(label) {
  111. label.append('<div class="ok"></div>');
  112. }
  113. });
  114. // 手机找回
  115. function requestByMobile() {
  116. $('#mobile_reset').val('处理中...').addClass('btn_disabled').prop('disabled', !0);
  117. $.ajax({
  118. url: $('#getPassByMobileForm').action,
  119. type: 'POST',
  120. dataType: 'json',
  121. data: $('#getPassByMobileForm').serialize(),
  122. success: function (data) {
  123. //disapperTooltip("success","注册成功,正在为你跳转..");
  124. setTimeout(function () {
  125. window.location.href = data.data.url;
  126. }, 1000)
  127. },
  128. error: function (data) {
  129. var error_obj = eval('(' + data.responseText + ')');
  130. $('#mobile_reset').val('下一步').removeClass('btn_disabled').prop('disabled', 0);
  131. if (data.status == 422) {//验证错误
  132. $.each(error_obj.errors, function (key, val) {
  133. disapperTooltip("remind", val[0]);
  134. return;
  135. });
  136. }
  137. else if (data.status == 400) {//业务错误
  138. disapperTooltip("remind", error_obj.message);
  139. }
  140. }
  141. });
  142. }
  143. // 邮箱找回
  144. function requestByEmail() {
  145. $('#email_reset').val('处理中...').addClass('btn_disabled').prop('disabled', !0);
  146. $.ajax({
  147. url: $('#getPassByEmailForm').action,
  148. type: 'POST',
  149. dataType: 'json',
  150. data: $('#getPassByEmailForm').serialize(),
  151. success: function (data) {
  152. //disapperTooltip("success","注册成功,正在为你跳转..");
  153. setTimeout(function () {
  154. window.location.href = data.data.url;
  155. }, 1000)
  156. },
  157. error: function (data) {
  158. var error_obj = eval('(' + data.responseText + ')');
  159. $('#email_reset').val('下一步').removeClass('btn_disabled').prop('disabled', 0);
  160. if (data.status == 422) {//验证错误
  161. $.each(error_obj.errors, function (key, val) {
  162. disapperTooltip("remind", val[0]);
  163. return;
  164. });
  165. }
  166. else if (data.status == 400) {//业务错误
  167. disapperTooltip("remind", error_obj.message);
  168. }
  169. }
  170. });
  171. }
  172. })(jQuery);