/** * jQuery EasyUI 1.3.2 * * Copyright (c) 2009-2013 www.jeasyui.com. All rights reserved. * * Licensed under the GPL or commercial licenses * To use it on other terms please contact us: jeasyui@gmail.com * http://www.gnu.org/licenses/gpl.txt * http://www.jeasyui.com/license_commercial.php * */ (function($){ function _1(_2){ $(_2).addClass("validatebox-text"); }; function _3(_4){ var _5=$.data(_4,"validatebox"); _5.validating=false; var _6=_5.tip; if(_6){ _6.remove(); } $(_4).unbind(); $(_4).remove(); }; function _7(_8){ var _9=$(_8); var _a=$.data(_8,"validatebox"); _9.unbind(".validatebox").bind("focus.validatebox",function(){ _a.validating=true; _a.value=undefined; (function(){ if(_a.validating){ if(_a.value!=_9.val()){ _a.value=_9.val(); if(_a.timer){ clearTimeout(_a.timer); } _a.timer=setTimeout(function(){ $(_8).validatebox("validate"); },_a.options.delay); }else{ _10(_8); } setTimeout(arguments.callee,200); } })(); }).bind("blur.validatebox",function(){ if(_a.timer){ clearTimeout(_a.timer); _a.timer=undefined; } _a.validating=false; _b(_8); }).bind("mouseenter.validatebox",function(){ if(_9.hasClass("validatebox-invalid")){ _c(_8); } }).bind("mouseleave.validatebox",function(){ if(!_a.validating){ _b(_8); } }); }; function _c(_d){ var _e=$.data(_d,"validatebox").message; var _f=$.data(_d,"validatebox").tip; if(!_f){ _f=$("<div class=\"validatebox-tip\">"+"<span class=\"validatebox-tip-content\">"+"</span>"+"<span class=\"validatebox-tip-pointer\">"+"</span>"+"</div>").appendTo("body"); $.data(_d,"validatebox").tip=_f; } _f.find(".validatebox-tip-content").html(_e); _10(_d); }; function _10(_11){ var _12=$.data(_11,"validatebox"); if(!_12){ return; } var tip=_12.tip; if(tip){ var box=$(_11); var _13=tip.find(".validatebox-tip-pointer"); var _14=tip.find(".validatebox-tip-content"); tip.show(); tip.css("top",box.offset().top-(_14._outerHeight()-box._outerHeight())/2); if(_12.options.tipPosition=="left"){ tip.css("left",box.offset().left-tip._outerWidth()); tip.addClass("validatebox-tip-left"); }else{ tip.css("left",box.offset().left+box._outerWidth()); tip.removeClass("validatebox-tip-left"); } _13.css("top",(_14._outerHeight()-_13._outerHeight())/2); } }; function _b(_15){ var tip=$.data(_15,"validatebox").tip; if(tip){ tip.remove(); $.data(_15,"validatebox").tip=null; } }; function _16(_17){ var _18=$.data(_17,"validatebox"); var _19=_18.options; var tip=_18.tip; var box=$(_17); var _1a=box.val(); function _1b(msg){ _18.message=msg; }; function _1c(_1d){ var _1e=/([a-zA-Z_]+)(.*)/.exec(_1d); var _1f=_19.rules[_1e[1]]; if(_1f&&_1a){ var _20=eval(_1e[2]); if(!_1f["validator"](_1a,_20)){ box.addClass("validatebox-invalid"); var _21=_1f["message"]; if(_20){ for(var i=0;i<_20.length;i++){ _21=_21.replace(new RegExp("\\{"+i+"\\}","g"),_20[i]); } } _1b(_19.invalidMessage||_21); if(_18.validating){ _c(_17); } return false; } } return true; }; if(_19.required){ if(_1a==""){ box.addClass("validatebox-invalid"); _1b(_19.missingMessage); if(_18.validating){ _c(_17); } return false; } } if(_19.validType){ if(typeof _19.validType=="string"){ if(!_1c(_19.validType)){ return false; } }else{ for(var i=0;i<_19.validType.length;i++){ if(!_1c(_19.validType[i])){ return false; } } } } box.removeClass("validatebox-invalid"); _b(_17); return true; }; $.fn.validatebox=function(_22,_23){ if(typeof _22=="string"){ return $.fn.validatebox.methods[_22](this,_23); } _22=_22||{}; return this.each(function(){ var _24=$.data(this,"validatebox"); if(_24){ $.extend(_24.options,_22); }else{ _1(this); $.data(this,"validatebox",{options:$.extend({},$.fn.validatebox.defaults,$.fn.validatebox.parseOptions(this),_22)}); } _7(this); }); }; $.fn.validatebox.methods={destroy:function(jq){ return jq.each(function(){ _3(this); }); },validate:function(jq){ return jq.each(function(){ _16(this); }); },isValid:function(jq){ return _16(jq[0]); }}; $.fn.validatebox.parseOptions=function(_25){ var t=$(_25); return $.extend({},$.parser.parseOptions(_25,["validType","missingMessage","invalidMessage","tipPosition",{delay:"number"}]),{required:(t.attr("required")?true:undefined)}); }; $.fn.validatebox.defaults={required:false,validType:null,delay:200,missingMessage:"This field is required.",invalidMessage:null,tipPosition:"right",rules:{email:{validator:function(_26){ 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(_26); },message:"Please enter a valid email address."},url:{validator:function(_27){ 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(_27); },message:"Please enter a valid URL."},length:{validator:function(_28,_29){ var len=$.trim(_28).length; return len>=_29[0]&&len<=_29[1]; },message:"Please enter a value between {0} and {1}."},remote:{validator:function(_2a,_2b){ var _2c={}; _2c[_2b[1]]=_2a; var _2d=$.ajax({url:_2b[0],dataType:"json",data:_2c,async:false,cache:false,type:"post"}).responseText; return _2d=="true"; },message:"Please fix this field."}}}; })(jQuery);