fastadmin/public/assets/libs/nice-validator/dist/jquery.validator.min.js

5 lines
21 KiB
JavaScript

/*! nice-validator 1.1.2
* (c) 2012-2017 Jony Zhang <niceue@live.com>, MIT Licensed
* https://github.com/niceue/nice-validator
*/
!function(e){"object"==typeof module&&module.exports?module.exports=e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)}(function(e,t){"use strict";function i(t,a){function n(){s.$el=e(t),s.$el.length?s._init(s.$el[0],a):j(t)&&(R[t]=a)}var s=this;if(!(s instanceof i))return new i(t,a);i.pending?e(window).on("validatorready",n):n()}function a(t){function i(){var t=this.options;for(var i in t)i in D&&(this[i]=t[i]);e.extend(this,{_valHook:function(){return"true"===this.element.contentEditable?"text":"val"},getValue:function(){var t=this.element;return"number"===t.type&&t.validity&&t.validity.badInput?"NaN":e(t)[this._valHook()]()},setValue:function(t){e(this.element)[this._valHook()](this.value=t)},getRangeMsg:function(e,t,i){function a(e,t){return o?e>t:e>=t}if(t){var n,s=this,l=s.messages[s._r]||"",r=t[0].split("~"),o="false"===t[1],u=r[0],d=r[1],c="rg",f=[""],g=C(e)&&+e==+e;return 2===r.length?u&&d?(g&&a(e,+u)&&a(+d,e)&&(n=!0),f=f.concat(r),c=o?"gtlt":"rg"):u&&!d?(g&&a(e,+u)&&(n=!0),f.push(u),c=o?"gt":"gte"):!u&&d&&(g&&a(+d,e)&&(n=!0),f.push(d),c=o?"lt":"lte"):(e===+u&&(n=!0),f.push(u),c="eq"),l&&(i&&l[c+i]&&(c+=i),f[0]=l[c]),n||s._rules&&(s._rules[s._i].msg=s.renderMsg.apply(null,f))}},renderMsg:function(){var e=arguments,t=e[0],i=e.length;if(t){for(;--i;)t=t.replace("{"+i+"}",e[i]);return t}}})}function a(i,a,n){this.key=i,this.validator=t,e.extend(this,n,a)}return i.prototype=t,a.prototype=new i,a}function n(e,t){if(T(e)){var i,a=t?!0===t?this:t:n.prototype;for(i in e)g(i)&&(a[i]=l(e[i]))}}function s(e,t){if(T(e)){var i,a=t?!0===t?this:t:s.prototype;for(i in e)a[i]=e[i]}}function l(t){switch(e.type(t)){case"function":return t;case"array":var i=function(){return t[0].test(this.value)||t[1]||!1};return i.msg=t[1],i;case"regexp":return function(){return t.test(this.value)}}}function r(t){var i,a,n;if(t&&t.tagName){switch(t.tagName){case"INPUT":case"SELECT":case"TEXTAREA":case"BUTTON":case"FIELDSET":i=t.form||e(t).closest("."+_);break;case"FORM":i=t;break;default:i=e(t).closest("."+_)}for(a in R)if(e(i).is(a)){n=R[a];break}return e(i).data(p)||e(i)[p](n).data(p)}}function o(e,t){var i=C(S(e,y+"-"+t));if(i&&(i=new Function("return "+i)()))return l(i)}function u(e,t,i){var a=t.msg,n=t._r;return T(a)&&(a=a[n]),j(a)||(a=S(e,b+"-"+n)||S(e,b)||(i?j(i)?i:i[n]:"")),a}function d(e){var t;return e&&(t=V.exec(e)),t&&t[0]}function c(e){return"INPUT"===e.tagName&&"checkbox"===e.type||"radio"===e.type}function f(e){return Date.parse(e.replace(/\.|\-/g,"/"))}function g(e){return/^\w+$/.test(e)}function m(e){var t="#"===e.charAt(0);return e=e.replace(/([:.{(|)}/\[\]])/g,"\\$1"),t?e:'[name="'+e+'"]:first'}var h,p="validator",v="."+p,_="nice-"+p,y="data-rule",b="data-msg",k=/(&)?(!)?\b(\w+)(?:\[\s*(.*?\]?)\s*\]|\(\s*(.*?\)?)\s*\))?\s*(;|\|)?/g,w=/(\w+)(?:\[\s*(.*?\]?)\s*\]|\(\s*(.*?\)?)\s*\))?/,x=/(?:([^:;\(\[]*):)?(.*)/,M=/[^\x00-\xff]/g,V=/top|right|bottom|left/,O=/(?:(cors|jsonp):)?(?:(post|get):)?(.+)/i,$=/[<>'"`\\]|&#x?\d+[A-F]?;?|%3[A-F]/gim,F=e.noop,E=e.proxy,C=e.trim,A=e.isFunction,j=function(e){return"string"==typeof e},T=function(e){return e&&"[object Object]"===Object.prototype.toString.call(e)},N=document.documentMode||+(navigator.userAgent.match(/MSIE (\d+)/)&&RegExp.$1),S=function(e,i,a){return e&&e.tagName?a===t?e.getAttribute(i):void(null===a?e.removeAttribute(i):e.setAttribute(i,""+a)):null},R={},q={debug:0,theme:"default",ignore:"",focusInvalid:!0,focusCleanup:!1,stopOnError:!1,beforeSubmit:null,valid:null,invalid:null,validation:null,formClass:"n-default",validClass:"n-valid",invalidClass:"n-invalid",bindClassTo:null},D={timely:1,display:null,target:null,ignoreBlank:!1,showOk:!0,dataFilter:function(e){if(j(e)||T(e)&&("error"in e||"ok"in e))return e},msgMaker:function(t){var i;return i='<span role="alert" class="msg-wrap n-'+t.type+'">'+t.arrow,t.result?e.each(t.result,function(e,a){i+='<span class="n-'+a.type+'">'+t.icon+'<span class="n-msg">'+a.msg+"</span></span>"}):i+=t.icon+'<span class="n-msg">'+t.msg+"</span>",i+="</span>"},msgWrapper:"span",msgArrow:"",msgIcon:'<span class="n-icon"></span>',msgClass:"n-right",msgStyle:"",msgShow:null,msgHide:null},I={};return e.fn.validator=function(t){var a=this,n=arguments;return a.is(":verifiable")?a:(a.is("form")||(a=this.find("form")),a.length||(a=this),a.each(function(){var a=e(this).data(p);if(a)if(j(t)){if("_"===t.charAt(0))return;a[t].apply(a,[].slice.call(n,1))}else t&&(a._reset(!0),a._init(this,t));else new i(this,t)}),this)},e.fn.isValid=function(e,i){var a,n,s=r(this[0]),l=A(e);return!s||(l||i!==t||(i=e),s.checkOnly=!!i,n=s.options,a=s._multiValidate(this.is(":verifiable")?this:this.find(":verifiable"),function(t){t||!n.focusInvalid||s.checkOnly||s.$el.find("[aria-invalid]:first").focus(),l&&(e.length?e(t):t&&e()),s.checkOnly=!1}),l?this:a)},e.extend(e.expr.pseudos||e.expr[":"],{verifiable:function(e){var t=e.nodeName.toLowerCase();return("input"===t&&!{submit:1,button:1,reset:1,image:1}[e.type]||"select"===t||"textarea"===t||"true"===e.contentEditable)&&!e.disabled},filled:function(t){return!!C(e(t).val())}}),i.prototype={_init:function(t,i){var l,r,o,u=this;A(i)&&(i={valid:i}),i=u._opt=i||{},o=S(t,"data-"+p+"-option"),o=u._dataOpt=o&&"{"===o.charAt(0)?new Function("return "+o)():{},r=u._themeOpt=I[i.theme||o.theme||q.theme],l=u.options=e.extend({},q,D,r,u.options,i,o),u.rules=new n(l.rules,!0),u.messages=new s(l.messages,!0),u.Field=a(u),u.elements=u.elements||{},u.deferred={},u.errors={},u.fields={},u._initFields(l.fields),u.$el.data(p)||(u.$el.data(p,u).addClass(_+" "+l.formClass).on("form-submit-validate",function(e,t,i,a,n){u.vetoed=n.veto=!u.isValid,u.ajaxFormOptions=a}).on("submit"+v+" validate"+v,E(u,"_submit")).on("reset"+v,E(u,"_reset")).on("showmsg"+v,E(u,"_showmsg")).on("hidemsg"+v,E(u,"_hidemsg")).on("focusin"+v+" click"+v,":verifiable",E(u,"_focusin")).on("focusout"+v+" validate"+v,":verifiable",E(u,"_focusout")).on("keyup"+v+" input"+v+" compositionstart compositionend",":verifiable",E(u,"_focusout")).on("click"+v,":radio,:checkbox","click",E(u,"_focusout")).on("change"+v,'select,input[type="file"]',"change",E(u,"_focusout")),u._NOVALIDATE=S(t,"novalidate"),S(t,"novalidate","novalidate")),j(l.target)&&u.$el.find(l.target).addClass("msg-container")},_guessAjax:function(t){function i(t,i,a){return!!(t&&t[i]&&e.map(t[i],function(e){return~e.namespace.indexOf(a)?1:null}).length)}var a=this;if(!(a.isAjaxSubmit=!!a.options.valid)){var n=(e._data||e.data)(t,"events");a.isAjaxSubmit=i(n,"valid","form")||i(n,"submit","form-plugin")}},_initFields:function(e){function t(e,t){if(null===t||l){var i=s.elements[e];i&&s._resetElement(i,!0),delete s.fields[e]}else s.fields[e]=new s.Field(e,j(t)?{rule:t}:t,s.fields[e])}var i,a,n,s=this,l=null===e;if(l&&(e=s.fields),T(e))for(i in e)if(~i.indexOf(","))for(n=(a=i.split(",")).length;n--;)t(C(a[n]),e[i]);else t(i,e[i]);s.$el.find(":verifiable").each(function(){s._parse(this)})},_parse:function(e){var t,i,a,n=this,s=e.name,l=S(e,y);return l&&S(e,y,null),e.id&&("#"+e.id in n.fields||!s||null!==l&&(t=n.fields[s])&&l!==t.rule&&e.id!==t.key)&&(s="#"+e.id),s||(s="#"+(e.id="N"+String(Math.random()).slice(-12))),t=n.getField(s,!0),t.rule=l||t.rule,(i=S(e,"data-display"))&&(t.display=i),t.rule&&((null!==S(e,"data-must")||/\b(?:match|checked)\b/.test(t.rule))&&(t.must=!0),/\brequired\b/.test(t.rule)&&(t.required=!0),(a=S(e,"data-timely"))?t.timely=+a:t.timely>3&&S(e,"data-timely",t.timely),n._parseRule(t),t.old={}),j(t.target)&&S(e,"data-target",t.target),j(t.tip)&&S(e,"data-tip",t.tip),n.fields[s]=t},_parseRule:function(i){var a=x.exec(i.rule);a&&(i._i=0,a[1]&&(i.display=a[1]),a[2]&&(i._rules=[],a[2].replace(k,function(){var a=arguments;a[4]=a[4]||a[5],i._rules.push({and:"&"===a[1],not:"!"===a[2],or:"|"===a[6],method:a[3],params:a[4]?e.map(a[4].split(", "),C):t})})))},_multiValidate:function(i,a){var n=this,s=n.options;return n.hasError=!1,s.ignore&&(i=i.not(s.ignore)),i.each(function(){if(n._validate(this),n.hasError&&s.stopOnError)return!1}),a&&(n.validating=!0,e.when.apply(null,e.map(n.deferred,function(e){return e})).done(function(){a.call(n,!n.hasError),n.validating=!1})),e.isEmptyObject(n.deferred)?!n.hasError:t},_submit:function(i){var a=this,n=a.options,s=i.target,l="submit"===i.type&&!i.isDefaultPrevented();i.preventDefault(),h&&~(h=!1)||a.submiting||"validate"===i.type&&a.$el[0]!==s||A(n.beforeSubmit)&&!1===n.beforeSubmit.call(a,s)||(a.isAjaxSubmit===t&&a._guessAjax(s),a._debug("log","\n<<< event: "+i.type),a._reset(),a.submiting=!0,a._multiValidate(a.$el.find(":verifiable"),function(t){var i,r=t||2===n.debug?"valid":"invalid";t||(n.focusInvalid&&a.$el.find("[aria-invalid]:first").focus(),i=e.map(a.errors,function(e){return e})),a.submiting=!1,a.isValid=t,A(n[r])&&n[r].call(a,s,i),a.$el.trigger(r+".form",[s,i]),a._debug("log",">>> "+r),t&&(a.vetoed?e(s).ajaxSubmit(a.ajaxFormOptions):l&&!a.isAjaxSubmit&&document.createElement("form").submit.call(s))}))},_reset:function(e){var t=this;t.errors={},e&&(t.reseting=!0,t.$el.find(":verifiable").each(function(){t._resetElement(this)}),delete t.reseting)},_resetElement:function(e,t){this._setClass(e,null),this.hideMsg(e)},_focusin:function(e){var t,i,a=this,n=a.options,s=e.target;a.validating||"click"===e.type&&document.activeElement===s||(n.focusCleanup&&"true"===S(s,"aria-invalid")&&(a._setClass(s,null),a.hideMsg(s)),(i=S(s,"data-tip"))?a.showMsg(s,{type:"tip",msg:i}):(S(s,y)&&a._parse(s),(t=S(s,"data-timely"))&&(8!==t&&9!==t||a._focusout(e))))},_focusout:function(t){var i,a,n,s,l,r,o,u,d,f=this,g=f.options,m=t.target,h=t.type,p="focusin"===h,v="validate"===h,_=0;if("compositionstart"===h&&(f.pauseValidate=!0),"compositionend"===h&&(f.pauseValidate=!1),!f.pauseValidate&&(a=m.name&&c(m)?f.$el.find('input[name="'+m.name+'"]').get(0):m,(n=f.getField(a))&&n.rule)){if(i=n._e,n._e=h,d=n.timely,!v){if(!d||c(m)&&"click"!==h)return;if(l=n.getValue(),n.ignoreBlank&&!l&&!p)return void f.hideMsg(m);if("focusout"===h){if("change"===i)return;if(2===d||8===d){if(s=n.old,!l||!s)return;n.isValid&&!s.showOk?f.hideMsg(m):f._makeMsg(m,n,s)}}else{if(d<2&&!t.data)return;if((r=+new Date)-(m._ts||0)<100)return;if(m._ts=r,"keyup"===h){if("input"===i)return;if(o=t.keyCode,u={8:1,9:1,16:1,32:1,46:1},9===o&&!l)return;if(o<48&&!u[o])return}p||(_=d<100?"click"===h||"SELECT"===m.tagName?0:400:d)}}g.ignore&&e(m).is(g.ignore)||(clearTimeout(n._t),_?n._t=setTimeout(function(){f._validate(m,n)},_):(v&&(n.old={}),f._validate(m,n)))}},_setClass:function(t,i){var a=e(t),n=this.options;n.bindClassTo&&(a=a.closest(n.bindClassTo)),a.removeClass(n.invalidClass+" "+n.validClass),null!==i&&a.addClass(i?n.validClass:n.invalidClass)},_showmsg:function(e,t,i){var a=this,n=e.target;a.$el.is(n)?T(t)?a.showMsg(t):"tip"===t&&a.$el.find(":verifiable[data-tip]",n).each(function(){a.showMsg(this,{type:t,msg:i})}):a.showMsg(n,{type:t,msg:i})},_hidemsg:function(t){var i=e(t.target);i.is(":verifiable")&&this.hideMsg(i)},_validatedField:function(t,i,a){var n=this,s=n.options,l=i.isValid=a.isValid=!!a.isValid,r=l?"valid":"invalid";a.key=i.key,a.ruleName=i._r,a.id=t.id,a.value=i.value,n.elements[i.key]=a.element=t,n.isValid=n.$el[0].isValid=l?n.isFormValid():l,l?a.type="ok":(n.submiting&&(n.errors[i.key]=a.msg),n.hasError=!0),i.old=a,A(i[r])&&i[r].call(n,t,a),A(s.validation)&&s.validation.call(n,t,a),e(t).attr("aria-invalid",!l||null).trigger(r+".field",[a,n]),n.$el.triggerHandler("validation",[a,n]),n.checkOnly||(n._setClass(t,a.skip||"tip"===a.type?null:l),n._makeMsg.apply(n,arguments))},_makeMsg:function(t,i,a){i.msgMaker&&(a=e.extend({},a),"focusin"===i._e&&(a.type="tip"),this[a.showOk||a.msg||"tip"===a.type?"showMsg":"hideMsg"](t,a,i))},_validatedRule:function(i,a,n,s){a=a||c.getField(i),s=s||{};var l,r,o,d,c=this,f=a._r,g=a.timely,m=9===g||8===g,h=!1;if(null===n)return c._validatedField(i,a,{isValid:!0,skip:!0}),void(a._i=0);if(n===t?o=!0:!0===n||""===n?h=!0:j(n)?l=n:T(n)&&(n.error?l=n.error:(l=n.ok,h=!0)),(r=a._rules[a._i]).not&&(l=t,h="required"===f||!h),r.or)if(h)for(;a._i<a._rules.length&&a._rules[a._i].or;)a._i++;else o=!0;else r.and&&(a.isValid||(o=!0));o?h=!0:(h&&!1!==a.showOk&&(l=null===(d=S(i,"data-ok"))?j(a.ok)?a.ok:l:d,!j(l)&&j(a.showOk)&&(l=a.showOk),j(l)&&(s.showOk=h)),h&&!m||(l=(u(i,a,l||r.msg||c.messages[f])||c.messages.fallback).replace(/\{0\|?([^\}]*)\}/,function(e,t){return c._getDisplay(i,a.display)||t||c.messages[0]})),h||(a.isValid=h),s.msg=l,e(i).trigger((h?"valid":"invalid")+".rule",[f,l])),!m||o&&!r.and||(h||a._m||(a._m=l),a._v=a._v||[],a._v.push({type:h?o?"tip":"ok":"error",msg:l||r.msg})),c._debug("log"," "+a._i+": "+f+" => "+(h||l)),(h||m)&&a._i<a._rules.length-1?(a._i++,c._checkRule(i,a)):(a._i=0,m?(s.isValid=a.isValid,s.result=a._v,s.msg=a._m||"",a.value||"focusin"!==a._e||(s.type="tip")):s.isValid=h,c._validatedField(i,a,s),delete a._m,delete a._v)},_checkRule:function(i,a){var n,s,l,r=this,u=a.key,d=a._rules[a._i],c=d.method,f=d.params;r.submiting&&r.deferred[u]||(l=a.old,a._r=c,l&&!a.must&&!d.must&&d.result!==t&&l.ruleName===c&&l.id===i.id&&a.value&&l.value===a.value?n=d.result:(n=(s=o(i,c)||r.rules[c]||F).call(a,i,f,a),s.msg&&(d.msg=s.msg)),T(n)&&A(n.then)?(r.deferred[u]=n,a.isValid=t,!r.checkOnly&&r.showMsg(i,{type:"loading",msg:r.messages.loading},a),n.then(function(n,s,l){var o,u=C(l.responseText),c=a.dataFilter;/jsonp?/.test(this.dataType)?u=n:"{"===u.charAt(0)&&(u=e.parseJSON(u)),(o=c.call(this,u,a))===t&&(o=c.call(this,u.data,a)),d.data=this.data,d.result=a.old?o:t,r._validatedRule(i,a,o)},function(e,t){r._validatedRule(i,a,r.messages[t]||t)}).always(function(){delete r.deferred[u]})):r._validatedRule(i,a,n))},_validate:function(e,t){var i=this;if(!e.disabled&&null===S(e,"novalidate")&&(t=t||i.getField(e))&&(t._rules||i._parse(e),t._rules))return i._debug("info",t.key),t.isValid=!0,t.element=e,t.value=t.getValue(),t.required||t.must||t.value||c(e)?(i._checkRule(e,t),t.isValid):(i._validatedField(e,t,{isValid:!0}),!0)},_debug:function(e,t){window.console&&this.options.debug&&console[e](t)},test:function(e,i){var a,n,s,l,r=this,o=w.exec(i);return o&&(s=o[1])in r.rules&&(l=(l=o[2]||o[3])?l.split(", "):t,(n=r.getField(e,!0))._r=s,n.value=n.getValue(),a=r.rules[s].call(n,e,l)),!0===a||a===t||null===a},_getDisplay:function(e,t){return j(t)?t:A(t)?t.call(this,e):""},_getMsgOpt:function(t,i){var a=i||this.options;return e.extend({type:"error",pos:d(a.msgClass),target:a.target,wrapper:a.msgWrapper,style:a.msgStyle,cls:a.msgClass,arrow:a.msgArrow,icon:a.msgIcon},j(t)?{msg:t}:t)},_getMsgDOM:function(i,a){var n,s,l,r,o=e(i);if(o.is(":verifiable")?((l=a.target||S(i,"data-target"))&&(l=A(l)?l.call(this,i):"#"===l.charAt(0)?e(l):this.$el.find(l)).length&&(l.is(":verifiable")?(o=l,i=l.get(0)):l.hasClass("msg-box")?n=l:r=l),n||(s=c(i)&&i.name||!i.id?i.name:i.id,n=(r||this.$el).find(a.wrapper+'.msg-box[for="'+s+'"]'))):n=o,!a.hide&&!n.length)if(n=e("<"+a.wrapper+">").attr({class:"msg-box"+(a.cls?" "+a.cls:""),style:a.style||t,for:s}),r)n.appendTo(r);else if(c(i)){var u=o.parent();n.appendTo(u.is("label")?u.parent():u)}else n[a.pos&&"right"!==a.pos?"insertBefore":"insertAfter"](o);return n},showMsg:function(t,i,a){if(t){var n,s,l,r,o=this,u=o.options;!T(t)||t.jquery||i?(e(t).is(":verifiable")&&(a=a||o.getField(t)),(s=(a||u).msgMaker)&&(i=o._getMsgOpt(i,a),t=(t.name&&c(t)?o.$el.find('input[name="'+t.name+'"]'):e(t)).get(0),i.msg||"error"===i.type||null!==(l=S(t,"data-"+i.type))&&(i.msg=l),j(i.msg)&&(r=o._getMsgDOM(t,i),!V.test(r[0].className)&&r.addClass(i.cls),6===N&&"bottom"===i.pos&&(r[0].style.marginTop=e(t).outerHeight()+"px"),r.html(s.call(o,i))[0].style.display="",A(n=a&&a.msgShow||u.msgShow)&&n.call(o,r,i.type)))):e.each(t,function(e,t){var i=o.elements[e]||o.$el.find(m(e))[0];o.showMsg(i,t)})}},hideMsg:function(t,i,a){var n,s,l=this,r=l.options;t=e(t).get(0),e(t).is(":verifiable")&&(a=a||l.getField(t))&&(a.isValid||l.reseting)&&S(t,"aria-invalid",null),(i=l._getMsgOpt(i,a)).hide=!0,(s=l._getMsgDOM(t,i)).length&&(A(n=a&&a.msgHide||r.msgHide)?n.call(l,s,i.type):(s[0].style.display="none",s[0].innerHTML=null))},getField:function(e,i){var a,n,s=this;if(j(e))a=e,e=t;else{if(S(e,y))return s._parse(e);a=e.id&&"#"+e.id in s.fields||!e.name?"#"+e.id:e.name}return((n=s.fields[a])||i&&(n=new s.Field(a)))&&(n.element=e),n},setField:function(e,t){var i={};e&&(j(e)?i[e]=t:i=e,this._initFields(i))},isFormValid:function(){var e,t,i=this.fields;for(e in i)if((t=i[e])._rules&&(t.required||t.must||t.value)&&!t.isValid)return!1;return!0},holdSubmit:function(e){this.submiting=e===t||e},cleanUp:function(){this._reset(1)},destroy:function(){this._reset(1),this.$el.off(v).removeData(p),S(this.$el[0],"novalidate",this._NOVALIDATE)}},e(window).on("beforeunload",function(){this.focus()}),e(document).on("click",":submit",function(){var e,t=this;t.form&&((e=t.getAttributeNode("formnovalidate"))&&null!==e.nodeValue||null!==S(t,"novalidate"))&&(h=!0)}).on("focusin submit validate","form,."+_,function(t){if(null===S(this,"novalidate")){var i,a=e(this);!a.data(p)&&(i=r(this))&&(e.isEmptyObject(i.fields)?(S(this,"novalidate","novalidate"),a.off(v).removeData(p)):"focusin"===t.type?i._focusin(t):i._submit(t))}}),new s({fallback:"This field is not valid.",loading:"Validating..."}),new n({required:function(t,i){var a=this,n=C(a.value),s=!0;if(i)if(1===i.length){if(g(i[0])){if(a.rules[i[0]]&&!n&&!a.test(t,i[0]))return null}else if(!n&&!e(i[0],a.$el).length)return null}else if("not"===i[0])e.each(i.slice(1),function(){return s=n!==C(this)});else if("from"===i[0]){var l,r=a.$el.find(i[1]);return(s=r.filter(function(){var e=a.getField(this);return e&&!!C(e.getValue())}).length>=(i[2]||1))?n||(l=null):l=u(r[0],a)||!1,e(t).data("_validated_")||r.data("_validated_",1).each(function(){t!==this&&a._validate(this)}).removeData("_validated_"),l}return s&&!!n},integer:function(e,t){var i,a="0|",n="[1-9]\\d*",s=t?t[0]:"*";switch(s){case"+":i=n;break;case"-":i="-"+n;break;case"+0":i=a+n;break;case"-0":i="0|-"+n;break;default:i="0|-?"+n}return i="^(?:"+i+")$",new RegExp(i).test(this.value)||this.messages.integer&&this.messages.integer[s]},match:function(t,i){if(i){var a,n,s,l,r,o,u,d=this,c=!0,g="eq";if(1===i.length?s=i[0]:(g=i[0],s=i[1]),r=m(s),o=d.$el.find(r)[0]){if(u=d.getField(o),a=d.value,n=u.getValue(),d._match||(d.$el.on("valid.field"+v,r,function(){e(t).trigger("validate")}),d._match=u._match=1),!d.required&&""===a&&""===n)return null;if((l=i[2])&&(/^date(time)?$/i.test(l)?(a=f(a),n=f(n)):"time"===l&&(a=+a.replace(/:/g,""),n=+n.replace(/:/g,""))),"eq"!==g&&!isNaN(+a)&&isNaN(+n))return!0;switch(g){case"lt":c=+a<+n;break;case"lte":c=+a<=+n;break;case"gte":c=+a>=+n;break;case"gt":c=+a>+n;break;case"neq":c=a!==n;break;default:c=a===n}return c||T(d.messages.match)&&d.messages.match[g].replace("{1}",d._getDisplay(t,u.display||s))}}},range:function(e,t){return this.getRangeMsg(this.value,t)},checked:function(e,t){if(c(e)){var i,a,n=this;return a=e.name?n.$el.find('input[name="'+e.name+'"]').filter(function(){var e=this;return!i&&c(e)&&(i=e),!e.disabled&&e.checked}).length:(i=e).checked,t?n.getRangeMsg(a,t):!!a||u(i,n,"")||n.messages.required||!1}},length:function(e,t){var i=this.value,a=("true"===t[1]?i.replace(M,"xx"):i).length;return this.getRangeMsg(a,t,t[1]?"_2":"")},remote:function(t,i){if(i){var a,n=this,s=O.exec(i[0]),l=n._rules[n._i],r={},o="",u=s[3],d=s[2]||"POST",c=(s[1]||"").toLowerCase();return l.must=!0,r[t.name]=n.value,i[1]&&e.map(i.slice(1),function(e){var t,i;~e.indexOf("=")?o+="&"+e:(t=e.split(":"),e=C(t[0]),i=C(t[1])||e,r[e]=n.$el.find(m(i)).val())}),r=e.param(r)+o,!n.must&&l.data&&l.data===r?l.result:("cors"!==c&&/^https?:/.test(u)&&!~u.indexOf(location.host)&&(a="jsonp"),e.ajax({url:u,type:d,data:r,dataType:a}))}},filter:function(e,t){var i=this.value,a=i.replace(t?new RegExp("["+t[0]+"]","gm"):$,"");a!==i&&this.setValue(a)}}),i.config=function(t,i){function a(e,t){"rules"===e?new n(t):"messages"===e?new s(t):e in D?D[e]=t:q[e]=t}T(t)?e.each(t,a):j(t)&&a(t,i)},i.setTheme=function(t,i){T(t)?e.extend(!0,I,t):j(t)&&T(i)&&(I[t]=e.extend(I[t],i))},i.load=function(t){if(t){var a,n,s,l=document,r={},o=l.scripts[0];t.replace(/([^?=&]+)=([^&#]*)/g,function(e,t,i){r[t]=i}),a=r.dir||i.dir,i.css||""===r.css||((n=l.createElement("link")).rel="stylesheet",n.href=i.css=a+"jquery.validator.css",o.parentNode.insertBefore(n,o)),!i.local&&~t.indexOf("local")&&""!==r.local&&(i.local=(r.local||l.documentElement.lang||"en").replace("_","-"),i.pending=1,(n=l.createElement("script")).src=a+"local/"+i.local+".js",n[s="onload"in n?"onload":"onreadystatechange"]=function(){n.readyState&&!/loaded|complete/.test(n.readyState)||(n=n[s]=null,delete i.pending,e(window).triggerHandler("validatorready"))},o.parentNode.insertBefore(n,o))}},function(){for(var e,t,a=document.scripts,n=a.length,s=/(.*validator(?:\.min)?.js)(\?.*(?:local|css|dir)(?:=[\w\-]*)?)?/;n--&&!t;)t=((e=a[n]).hasAttribute?e.src:e.getAttribute("src",4)||"").match(s);t&&(i.dir=t[1].split("/").slice(0,-1).join("/")+"/",i.load(t[2]))}(),e[p]=i});