旭捷内部项目管理系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

301 lines
9.4 KiB

10 months ago
  1. /**
  2. * jQuery EasyUI 1.5.1
  3. *
  4. * Copyright (c) 2009-2016 www.jeasyui.com. All rights reserved.
  5. *
  6. * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php
  7. * To use it on other terms please contact us: info@jeasyui.com
  8. *
  9. */
  10. (function($){
  11. function _1(_2){
  12. $(_2).addClass("validatebox-text");
  13. };
  14. function _3(_4){
  15. var _5=$.data(_4,"validatebox");
  16. _5.validating=false;
  17. if(_5.timer){
  18. clearTimeout(_5.timer);
  19. }
  20. $(_4).tooltip("destroy");
  21. $(_4).unbind();
  22. $(_4).remove();
  23. };
  24. function _6(_7){
  25. var _8=$.data(_7,"validatebox").options;
  26. $(_7).unbind(".validatebox");
  27. if(_8.novalidate||_8.disabled){
  28. return;
  29. }
  30. for(var _9 in _8.events){
  31. $(_7).bind(_9+".validatebox",{target:_7},_8.events[_9]);
  32. }
  33. };
  34. function _a(e){
  35. var _b=e.data.target;
  36. var _c=$.data(_b,"validatebox");
  37. var _d=_c.options;
  38. if($(_b).attr("readonly")){
  39. return;
  40. }
  41. _c.validating=true;
  42. _c.value=_d.val(_b);
  43. (function(){
  44. if(!$(_b).is(":visible")){
  45. _c.validating=false;
  46. }
  47. if(_c.validating){
  48. var _e=_d.val(_b);
  49. if(_c.value!=_e){
  50. _c.value=_e;
  51. if(_c.timer){
  52. clearTimeout(_c.timer);
  53. }
  54. _c.timer=setTimeout(function(){
  55. $(_b).validatebox("validate");
  56. },_d.delay);
  57. }else{
  58. if(_c.message){
  59. _d.err(_b,_c.message);
  60. }
  61. }
  62. setTimeout(arguments.callee,_d.interval);
  63. }
  64. })();
  65. };
  66. function _f(e){
  67. var _10=e.data.target;
  68. var _11=$.data(_10,"validatebox");
  69. var _12=_11.options;
  70. _11.validating=false;
  71. if(_11.timer){
  72. clearTimeout(_11.timer);
  73. _11.timer=undefined;
  74. }
  75. if(_12.validateOnBlur){
  76. $(_10).validatebox("validate");
  77. }
  78. _12.err(_10,_11.message,"hide");
  79. };
  80. function _13(e){
  81. var _14=e.data.target;
  82. var _15=$.data(_14,"validatebox");
  83. _15.options.err(_14,_15.message,"show");
  84. };
  85. function _16(e){
  86. var _17=e.data.target;
  87. var _18=$.data(_17,"validatebox");
  88. if(!_18.validating){
  89. _18.options.err(_17,_18.message,"hide");
  90. }
  91. };
  92. function _19(_1a,_1b,_1c){
  93. var _1d=$.data(_1a,"validatebox");
  94. var _1e=_1d.options;
  95. var t=$(_1a);
  96. if(_1c=="hide"||!_1b){
  97. t.tooltip("hide");
  98. }else{
  99. if((t.is(":focus")&&_1d.validating)||_1c=="show"){
  100. t.tooltip($.extend({},_1e.tipOptions,{content:_1b,position:_1e.tipPosition,deltaX:_1e.deltaX,deltaY:_1e.deltaY})).tooltip("show");
  101. }
  102. }
  103. };
  104. function _1f(_20){
  105. var _21=$.data(_20,"validatebox");
  106. var _22=_21.options;
  107. var box=$(_20);
  108. _22.onBeforeValidate.call(_20);
  109. var _23=_24();
  110. _23?box.removeClass("validatebox-invalid"):box.addClass("validatebox-invalid");
  111. _22.err(_20,_21.message);
  112. _22.onValidate.call(_20,_23);
  113. return _23;
  114. function _25(msg){
  115. _21.message=msg;
  116. };
  117. function _26(_27,_28){
  118. var _29=_22.val(_20);
  119. var _2a=/([a-zA-Z_]+)(.*)/.exec(_27);
  120. var _2b=_22.rules[_2a[1]];
  121. if(_2b&&_29){
  122. var _2c=_28||_22.validParams||eval(_2a[2]);
  123. if(!_2b["validator"].call(_20,_29,_2c)){
  124. var _2d=_2b["message"];
  125. if(_2c){
  126. for(var i=0;i<_2c.length;i++){
  127. _2d=_2d.replace(new RegExp("\\{"+i+"\\}","g"),_2c[i]);
  128. }
  129. }
  130. _25(_22.invalidMessage||_2d);
  131. return false;
  132. }
  133. }
  134. return true;
  135. };
  136. function _24(){
  137. _25("");
  138. if(!_22._validateOnCreate){
  139. setTimeout(function(){
  140. _22._validateOnCreate=true;
  141. },0);
  142. return true;
  143. }
  144. if(_22.novalidate||_22.disabled){
  145. return true;
  146. }
  147. if(_22.required){
  148. if(_22.val(_20)==""){
  149. _25(_22.missingMessage);
  150. return false;
  151. }
  152. }
  153. if(_22.validType){
  154. if($.isArray(_22.validType)){
  155. for(var i=0;i<_22.validType.length;i++){
  156. if(!_26(_22.validType[i])){
  157. return false;
  158. }
  159. }
  160. }else{
  161. if(typeof _22.validType=="string"){
  162. if(!_26(_22.validType)){
  163. return false;
  164. }
  165. }else{
  166. for(var _2e in _22.validType){
  167. var _2f=_22.validType[_2e];
  168. if(!_26(_2e,_2f)){
  169. return false;
  170. }
  171. }
  172. }
  173. }
  174. }
  175. return true;
  176. };
  177. };
  178. function _30(_31,_32){
  179. var _33=$.data(_31,"validatebox").options;
  180. if(_32!=undefined){
  181. _33.disabled=_32;
  182. }
  183. if(_33.disabled){
  184. $(_31).addClass("validatebox-disabled").attr("disabled","disabled");
  185. }else{
  186. $(_31).removeClass("validatebox-disabled").removeAttr("disabled");
  187. }
  188. };
  189. function _34(_35,_36){
  190. var _37=$.data(_35,"validatebox").options;
  191. _37.readonly=_36==undefined?true:_36;
  192. if(_37.readonly||!_37.editable){
  193. $(_35).triggerHandler("blur.validatebox");
  194. $(_35).addClass("validatebox-readonly").attr("readonly","readonly");
  195. }else{
  196. $(_35).removeClass("validatebox-readonly").removeAttr("readonly");
  197. }
  198. };
  199. $.fn.validatebox=function(_38,_39){
  200. if(typeof _38=="string"){
  201. return $.fn.validatebox.methods[_38](this,_39);
  202. }
  203. _38=_38||{};
  204. return this.each(function(){
  205. var _3a=$.data(this,"validatebox");
  206. if(_3a){
  207. $.extend(_3a.options,_38);
  208. }else{
  209. _1(this);
  210. _3a=$.data(this,"validatebox",{options:$.extend({},$.fn.validatebox.defaults,$.fn.validatebox.parseOptions(this),_38)});
  211. }
  212. _3a.options._validateOnCreate=_3a.options.validateOnCreate;
  213. _30(this,_3a.options.disabled);
  214. _34(this,_3a.options.readonly);
  215. _6(this);
  216. _1f(this);
  217. });
  218. };
  219. $.fn.validatebox.methods={options:function(jq){
  220. return $.data(jq[0],"validatebox").options;
  221. },destroy:function(jq){
  222. return jq.each(function(){
  223. _3(this);
  224. });
  225. },validate:function(jq){
  226. return jq.each(function(){
  227. _1f(this);
  228. });
  229. },isValid:function(jq){
  230. return _1f(jq[0]);
  231. },enableValidation:function(jq){
  232. return jq.each(function(){
  233. $(this).validatebox("options").novalidate=false;
  234. _6(this);
  235. _1f(this);
  236. });
  237. },disableValidation:function(jq){
  238. return jq.each(function(){
  239. $(this).validatebox("options").novalidate=true;
  240. _6(this);
  241. _1f(this);
  242. });
  243. },resetValidation:function(jq){
  244. return jq.each(function(){
  245. var _3b=$(this).validatebox("options");
  246. _3b._validateOnCreate=_3b.validateOnCreate;
  247. _1f(this);
  248. });
  249. },enable:function(jq){
  250. return jq.each(function(){
  251. _30(this,false);
  252. _6(this);
  253. _1f(this);
  254. });
  255. },disable:function(jq){
  256. return jq.each(function(){
  257. _30(this,true);
  258. _6(this);
  259. _1f(this);
  260. });
  261. },readonly:function(jq,_3c){
  262. return jq.each(function(){
  263. _34(this,_3c);
  264. _6(this);
  265. _1f(this);
  266. });
  267. }};
  268. $.fn.validatebox.parseOptions=function(_3d){
  269. var t=$(_3d);
  270. return $.extend({},$.parser.parseOptions(_3d,["validType","missingMessage","invalidMessage","tipPosition",{delay:"number",interval:"number",deltaX:"number"},{editable:"boolean",validateOnCreate:"boolean",validateOnBlur:"boolean"}]),{required:(t.attr("required")?true:undefined),disabled:(t.attr("disabled")?true:undefined),readonly:(t.attr("readonly")?true:undefined),novalidate:(t.attr("novalidate")!=undefined?true:undefined)});
  271. };
  272. $.fn.validatebox.defaults={required:false,validType:null,validParams:null,delay:200,interval:200,missingMessage:"This field is required.",invalidMessage:null,tipPosition:"right",deltaX:0,deltaY:0,novalidate:false,editable:true,disabled:false,readonly:false,validateOnCreate:true,validateOnBlur:false,events:{focus:_a,blur:_f,mouseenter:_13,mouseleave:_16,click:function(e){
  273. var t=$(e.data.target);
  274. if(t.attr("type")=="checkbox"||t.attr("type")=="radio"){
  275. t.focus().validatebox("validate");
  276. }
  277. }},val:function(_3e){
  278. return $(_3e).val();
  279. },err:function(_3f,_40,_41){
  280. _19(_3f,_40,_41);
  281. },tipOptions:{showEvent:"none",hideEvent:"none",showDelay:0,hideDelay:0,zIndex:"",onShow:function(){
  282. $(this).tooltip("tip").css({color:"#000",borderColor:"#CC9933",backgroundColor:"#FFFFCC"});
  283. },onHide:function(){
  284. $(this).tooltip("destroy");
  285. }},rules:{email:{validator:function(_42){
  286. return /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(_42);
  287. },message:"Please enter a valid email address."},url:{validator:function(_43){
  288. return /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(_43);
  289. },message:"Please enter a valid URL."},length:{validator:function(_44,_45){
  290. var len=$.trim(_44).length;
  291. return len>=_45[0]&&len<=_45[1];
  292. },message:"Please enter a value between {0} and {1}."},remote:{validator:function(_46,_47){
  293. var _48={};
  294. _48[_47[1]]=_46;
  295. var _49=$.ajax({url:_47[0],dataType:"json",data:_48,async:false,cache:false,type:"post"}).responseText;
  296. return _49=="true";
  297. },message:"Please fix this field."}},onBeforeValidate:function(){
  298. },onValidate:function(_4a){
  299. }};
  300. })(jQuery);