function _toConsumableArray(a){if(Array.isArray(a)){for(var b=0,c=Array(a.length);b1)throw Error("Second argument not supported");if("object"!=typeof b)throw TypeError("Argument must be an object");a.prototype=b;var c=new a;return a.prototype=null,c}}(),_SubmitSelector:'input[type="submit"], button:submit'},h={namespace:"data-parsley-",inputs:"input, textarea, select",excluded:"input[type=button], input[type=submit], input[type=reset], input[type=hidden]",priorityEnabled:!0,multiple:null,group:null,uiEnabled:!0,validationThreshold:3,focus:"first",trigger:!1,triggerAfterFailure:"input",errorClass:"parsley-error",successClass:"parsley-success",classHandler:function(a){},errorsContainer:function(a){},errorsWrapper:'',errorTemplate:"
  • "},i=function(){this.__id__=g.generateID()};i.prototype={asyncSupport:!0,_pipeAccordingToValidationResult:function(){var b=this,c=function(){var c=a.Deferred();return!0!==b.validationResult&&c.reject(),c.resolve().promise()};return[c,c]},actualizeOptions:function(){return g.attr(this.element,this.options.namespace,this.domOptions),this.parent&&this.parent.actualizeOptions&&this.parent.actualizeOptions(),this},_resetOptions:function(a){this.domOptions=g.objectCreate(this.parent.options),this.options=g.objectCreate(this.domOptions);for(var b in a)a.hasOwnProperty(b)&&(this.options[b]=a[b]);this.actualizeOptions()},_listeners:null,on:function(a,b){return this._listeners=this._listeners||{},(this._listeners[a]=this._listeners[a]||[]).push(b),this},subscribe:function(b,c){a.listenTo(this,b.toLowerCase(),c)},off:function(a,b){var c=this._listeners&&this._listeners[a];if(c)if(b)for(var d=c.length;d--;)c[d]===b&&c.splice(d,1);else delete this._listeners[a];return this},unsubscribe:function(b,c){a.unsubscribeTo(this,b.toLowerCase())},trigger:function(a,b,c){b=b||this;var d,e=this._listeners&&this._listeners[a];if(e)for(var f=e.length;f--;)if(!1===(d=e[f].call(b,b,c)))return d;return!this.parent||this.parent.trigger(a,b,c)},asyncIsValid:function(a,b){return g.warnOnce("asyncIsValid is deprecated; please use whenValid instead"),this.whenValid({group:a,force:b})},_findRelated:function(){return this.options.multiple?a(this.parent.element.querySelectorAll("["+this.options.namespace+'multiple="'+this.options.multiple+'"]')):this.$element}};var j=function(a,b){var c=a.match(/^\s*\[(.*)\]\s*$/);if(!c)throw'Requirement is not an array: "'+a+'"';var d=c[1].split(",").map(g.trimString);if(d.length!==b)throw"Requirement has "+d.length+" values when "+b+" are needed";return d},k=function(a,b,c){var d=null,e={};for(var f in a)if(f){var h=c(f);"string"==typeof h&&(h=g.parseRequirement(a[f],h)),e[f]=h}else d=g.parseRequirement(a[f],b);return[d,e]},l=function(b){a.extend(!0,this,b)};l.prototype={validate:function(a,b){if(this.fn)return arguments.length>3&&(b=[].slice.call(arguments,1,-1)),this.fn(a,b);if(Array.isArray(a)){if(!this.validateMultiple)throw"Validator `"+this.name+"` does not handle multiple values";return this.validateMultiple.apply(this,arguments)}var c=arguments[arguments.length-1];if(this.validateDate&&c._isDateInput())return arguments[0]=g.parse.date(arguments[0]),null!==arguments[0]&&this.validateDate.apply(this,arguments);if(this.validateNumber)return!isNaN(a)&&(arguments[0]=parseFloat(arguments[0]),this.validateNumber.apply(this,arguments));if(this.validateString)return this.validateString.apply(this,arguments);throw"Validator `"+this.name+"` only handles multiple values"},parseRequirements:function(b,c){if("string"!=typeof b)return Array.isArray(b)?b:[b];var d=this.requirementType;if(Array.isArray(d)){for(var e=j(b,d.length),f=0;f1?d-1:0),f=1;f0},validateString:function(a){return/\S/.test(a)},priority:512},type:{validateString:function(a,b){var c=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],d=c.step,e=void 0===d?"any":d,f=c.base,g=void 0===f?0:f,h=n[b];if(!h)throw new Error("validator type `"+b+"` is not supported");if(!h.test(a))return!1;if("number"===b&&!/^any$/i.test(e||"")){var i=Number(a),j=Math.max(o(e),o(g));if(o(i)>j)return!1;var k=function(a){return Math.round(a*Math.pow(10,j))};if((k(i)-k(g))%k(e)!=0)return!1}return!0},requirementType:{"":"string",step:"string",base:"number"},priority:256},pattern:{validateString:function(a,b){return b.test(a)},requirementType:"regexp",priority:64},minlength:{validateString:function(a,b){return a.length>=b},requirementType:"integer",priority:30},maxlength:{validateString:function(a,b){return a.length<=b},requirementType:"integer",priority:30},length:{validateString:function(a,b,c){return a.length>=b&&a.length<=c},requirementType:["integer","integer"],priority:30},mincheck:{validateMultiple:function(a,b){return a.length>=b},requirementType:"integer",priority:30},maxcheck:{validateMultiple:function(a,b){return a.length<=b},requirementType:"integer",priority:30},check:{validateMultiple:function(a,b,c){return a.length>=b&&a.length<=c},requirementType:["integer","integer"],priority:30},min:r(function(a,b){return a>=b}),max:r(function(a,b){return a<=b}),range:r(function(a,b,c){return a>=b&&a<=c}),equalto:{validateString:function(b,c){var d=a(c);return d.length?b===d.val():b===c},priority:256}}};var s={},t=function a(b,c,d){for(var e=[],f=[],g=0;g0&&void 0===b.options.noFocus&&(this._focusedField=b.$element,"first"===this.options.focus))break}return null===this._focusedField?null:this._focusedField.focus()},_destroyUI:function(){this.$element.off(".Parsley")}},s.Field={_reflowUI:function(){if(this._buildUI(),this._ui){var a=t(this.validationResult,this._ui.lastValidationResult);this._ui.lastValidationResult=this.validationResult,this._manageStatusClass(),this._manageErrorsMessages(a),this._actualizeTriggers(),!a.kept.length&&!a.added.length||this._failedOnce||(this._failedOnce=!0,this._actualizeTriggers())}},getErrorsMessages:function(){if(!0===this.validationResult)return[];for(var a=[],b=0;b0?this._errorClass():this._resetClass()},_manageErrorsMessages:function(b){if(void 0===this.options.errorsMessagesDisabled){if(void 0!==this.options.errorMessage)return b.added.length||b.kept.length?(this._insertErrorWrapper(),0===this._ui.$errorsWrapper.find(".parsley-custom-error-message").length&&this._ui.$errorsWrapper.append(a(this.options.errorTemplate).addClass("parsley-custom-error-message")),this._ui.$errorsWrapper.addClass("filled").find(".parsley-custom-error-message").html(this.options.errorMessage)):this._ui.$errorsWrapper.removeClass("filled").find(".parsley-custom-error-message").remove();for(var c=0;c').appendTo(this.$element)),c.attr({name:b.getAttribute("name"),value:b.getAttribute("value")})}this.$element.trigger(_extends(a.Event("submit"),{parsley:!0}))}},validate:function(b){if(arguments.length>=1&&!a.isPlainObject(b)){g.warnOnce("Calling validate on a parsley form without passing arguments as an object is deprecated.");var c=_slice.call(arguments);b={group:c[0],force:c[1],event:c[2]}}return v[this.whenValidate(b).state()]},whenValidate:function(){var b,c=this,d=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],e=d.group,f=d.force,h=d.event;this.submitEvent=h,h&&(this.submitEvent=_extends({},h,{preventDefault:function(){g.warnOnce("Using `this.submitEvent.preventDefault()` is deprecated; instead, call `this.validationResult = false`"),c.validationResult=!1}})),this.validationResult=!0,this._trigger("validate"),this._refreshFields();var i=this._withoutReactualizingFormOptions(function(){return a.map(c.fields,function(a){return a.whenValidate({force:f,group:e})})});return(b=g.all(i).done(function(){c._trigger("success")}).fail(function(){c.validationResult=!1,c.focus(),c._trigger("error")}).always(function(){c._trigger("validated")})).pipe.apply(b,_toConsumableArray(this._pipeAccordingToValidationResult()))},isValid:function(b){if(arguments.length>=1&&!a.isPlainObject(b)){g.warnOnce("Calling isValid on a parsley form without passing arguments as an object is deprecated.");var c=_slice.call(arguments);b={group:c[0],force:c[1]}}return v[this.whenValid(b).state()]},whenValid:function(){var b=this,c=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],d=c.group,e=c.force;this._refreshFields();var f=this._withoutReactualizingFormOptions(function(){return a.map(b.fields,function(a){return a.whenValid({group:d,force:e})})});return g.all(f)},refresh:function(){return this._refreshFields(),this},reset:function(){for(var a=0;a=1&&!a.isPlainObject(b)&&(g.warnOnce("Calling validate on a parsley field without passing arguments as an object is deprecated."),b={options:b});var c=this.whenValidate(b);if(!c)return!0;switch(c.state()){case"pending":return null;case"resolved":return!0;case"rejected":return this.validationResult}},whenValidate:function(){var a,b=this,c=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],d=c.force,e=c.group;if(this.refresh(),!e||this._isInGroup(e))return this.value=this.getValue(),this._trigger("validate"),(a=this.whenValid({force:d,value:this.value,_refreshed:!0}).always(function(){b._reflowUI()}).done(function(){b._trigger("success")}).fail(function(){b._trigger("error")}).always(function(){b._trigger("validated")})).pipe.apply(a,_toConsumableArray(this._pipeAccordingToValidationResult()))},hasConstraints:function(){return 0!==this.constraints.length},needsValidation:function(a){return void 0===a&&(a=this.getValue()),!(!a.length&&!this._isRequired()&&void 0===this.options.validateIfEmpty)},_isInGroup:function(b){return Array.isArray(this.options.group)?-1!==a.inArray(b,this.options.group):this.options.group===b},isValid:function(b){if(arguments.length>=1&&!a.isPlainObject(b)){g.warnOnce("Calling isValid on a parsley field without passing arguments as an object is deprecated.");var c=_slice.call(arguments);b={force:c[0],value:c[1]}}var d=this.whenValid(b);return!d||z[d.state()]},whenValid:function(){var b=this,c=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],d=c.force,e=void 0!==d&&d,f=c.value,h=c.group;if(c._refreshed||this.refresh(),!h||this._isInGroup(h)){if(this.validationResult=!0,!this.hasConstraints())return a.when();if(void 0!==f&&null!==f||(f=this.getValue()),!this.needsValidation(f)&&!0!==e)return a.when();var i=this._getGroupedConstraints(),j=[];return a.each(i,function(c,d){var e=g.all(a.map(d,function(a){return b._validateConstraint(f,a)}));if(j.push(e),"rejected"===e.state())return!1}),g.all(j)}},_validateConstraint:function(b,c){var d=this,e=c.validate(b,this);return!1===e&&(e=a.Deferred().reject()),g.all([e]).fail(function(a){d.validationResult instanceof Array||(d.validationResult=[]),d.validationResult.push({assert:c,errorMessage:"string"==typeof a&&a})})},getValue:function(){var a;return a="function"==typeof this.options.value?this.options.value(this):void 0!==this.options.value?this.options.value:this.$element.val(),void 0===a||null===a?"":this._handleWhitespace(a)},reset:function(){return this._resetUI(),this._trigger("reset")},destroy:function(){this._destroyUI(),this.$element.removeData("Parsley"),this.$element.removeData("FieldMultiple"),this._trigger("destroy")},refresh:function(){return this._refreshConstraints(),this},_refreshConstraints:function(){return this.actualizeOptions()._bindConstraints()},refreshConstraints:function(){return g.warnOnce("Parsley's refreshConstraints is deprecated. Please use refresh"),this.refresh()},addConstraint:function(a,b,c,d){if(window.Parsley._validatorRegistry.validators[a]){var e=new w(this,a,b,c,d);"undefined"!==this.constraintsByName[e.name]&&this.removeConstraint(e.name),this.constraints.push(e),this.constraintsByName[e.name]=e}return this},removeConstraint:function(a){for(var b=0;b1){var c=[];return this.each(function(){c.push(a(this).parsley(b))}),c}if(0!=this.length)return new C(this[0],b)},void 0===window.ParsleyExtend&&(window.ParsleyExtend={}),E.options=_extends(g.objectCreate(h),window.ParsleyConfig),window.ParsleyConfig=E.options,window.Parsley=window.psly=E,E.Utils=g,window.ParsleyUtils={},a.each(g,function(a,b){"function"==typeof b&&(window.ParsleyUtils[a]=function(){return g.warnOnce("Accessing `window.ParsleyUtils` is deprecated. Use `window.Parsley.Utils` instead."),g[a].apply(g,arguments)})});var F=window.Parsley._validatorRegistry=new m(window.ParsleyConfig.validators,window.ParsleyConfig.i18n);window.ParsleyValidator={},a.each("setLocale addCatalog addMessage addMessages getErrorMessage formatMessage addValidator updateValidator removeValidator hasValidator".split(" "),function(a,b){window.Parsley[b]=function(){return F[b].apply(F,arguments)},window.ParsleyValidator[b]=function(){var a;return g.warnOnce("Accessing the method '"+b+"' through Validator is deprecated. Simply call 'window.Parsley."+b+"(...)'"),(a=window.Parsley)[b].apply(a,arguments)}}),window.Parsley.UI=s,window.ParsleyUI={removeError:function(a,b,c){var d=!0!==c;return g.warnOnce("Accessing UI is deprecated. Call 'removeError' on the instance directly. Please comment in issue 1073 as to your need to call this method."),a.removeError(b,{updateClass:d})},getErrorsMessages:function(a){return g.warnOnce("Accessing UI is deprecated. Call 'getErrorsMessages' on the instance directly."),a.getErrorsMessages()}},a.each("addError updateError".split(" "),function(a,b){window.ParsleyUI[b]=function(a,c,d,e,f){var h=!0!==f;return g.warnOnce("Accessing UI is deprecated. Call '"+b+"' on the instance directly. Please comment in issue 1073 as to your need to call this method."),a[b](c,{message:d,assert:e,updateClass:h})}}),!1!==window.ParsleyConfig.autoBind&&a(function(){a("[data-parsley-validate]").length&&a("[data-parsley-validate]").parsley()});var G=a({}),H=function(){g.warnOnce("Parsley's pubsub module is deprecated; use the 'on' and 'off' methods on parsley instances or window.Parsley")},I="parsley:";a.listen=function(a,d){var e;if(H(),"object"==typeof arguments[1]&&"function"==typeof arguments[2]&&(e=arguments[1],d=arguments[2]),"function"!=typeof d)throw new Error("Wrong parameters");window.Parsley.on(c(a),b(d,e))},a.listenTo=function(a,d,e){if(H(),!(a instanceof A||a instanceof u))throw new Error("Must give Parsley instance");if("string"!=typeof d||"function"!=typeof e)throw new Error("Wrong parameters");a.on(c(d),b(e))},a.unsubscribe=function(a,b){if(H(),"string"!=typeof a||"function"!=typeof b)throw new Error("Wrong arguments");window.Parsley.off(c(a),b.parsleyAdaptedCallback)},a.unsubscribeTo=function(a,b){if(H(),!(a instanceof A||a instanceof u))throw new Error("Must give Parsley instance");a.off(c(b))},a.unsubscribeAll=function(b){H(),window.Parsley.off(c(b)),a("form,input,textarea,select").each(function(){var d=a(this).data("Parsley");d&&d.off(c(b))})},a.emit=function(a,b){var d;H();var e=b instanceof A||b instanceof u,f=Array.prototype.slice.call(arguments,e?2:1);f.unshift(c(a)),e||(b=window.Parsley),(d=b).trigger.apply(d,_toConsumableArray(f))};return a.extend(!0,E,{asyncValidators:{default:{fn:function(a){return a.status>=200&&a.status<300},url:!1},reverse:{fn:function(a){return a.status<200||a.status>=300},url:!1}},addAsyncValidator:function(a,b,c,d){return E.asyncValidators[a]={fn:b,url:c||!1,options:d||{}},this}}),E.addValidator("remote",{requirementType:{"":"string",validator:"string",reverse:"boolean",options:"object"},validateString:function(b,c,d,e){var f,g,h={},i=d.validator||(!0===d.reverse?"reverse":"default");if(void 0===E.asyncValidators[i])throw new Error("Calling an undefined async validator: `"+i+"`");c=E.asyncValidators[i].url||c,c.indexOf("{value}")>-1?c=c.replace("{value}",encodeURIComponent(b)):h[e.element.getAttribute("name")||e.element.getAttribute("id")]=b;var j=a.extend(!0,d.options||{},E.asyncValidators[i].options);f=a.extend(!0,{},{url:c,data:h,type:"GET"},j),e.trigger("field:ajaxoptions",e,f),g=a.param(f),void 0===E._remoteCache&&(E._remoteCache={});var k=E._remoteCache[g]=E._remoteCache[g]||a.ajax(f),l=function(){var b=E.asyncValidators[i].fn.call(e,k,c,d);return b||(b=a.Deferred().reject()),a.when(b)};return k.then(l,l)},priority:-1}),E.on("form:submit",function(){E._remoteCache={}}),i.prototype.addAsyncValidator=function(){return g.warnOnce("Accessing the method `addAsyncValidator` through an instance is deprecated. Simply call `Parsley.addAsyncValidator(...)`"),E.addAsyncValidator.apply(E,arguments)},E.addMessages("en",{defaultMessage:"This value seems to be invalid.",type:{email:"This value should be a valid email.",url:"This value should be a valid url.",number:"This value should be a valid number.",integer:"This value should be a valid integer.",digits:"This value should be digits.",alphanum:"This value should be alphanumeric."},notblank:"This value should not be blank.",required:"This value is required.",pattern:"This value seems to be invalid.",min:"This value should be greater than or equal to %s.",max:"This value should be lower than or equal to %s.",range:"This value should be between %s and %s.",minlength:"This value is too short. It should have %s characters or more.",maxlength:"This value is too long. It should have %s characters or fewer.",length:"This value length is invalid. It should be between %s and %s characters long.",mincheck:"You must select at least %s choices.",maxcheck:"You must select %s choices or fewer.",check:"You must select between %s and %s choices.",equalto:"This value should be the same."}),E.setLocale("en"),(new d).install(),E});var _slice=Array.prototype.slice,_slicedToArray=function(){function a(a,b){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!b||c.length!==b);d=!0);}catch(a){e=!0,f=a}finally{try{!d&&h.return&&h.return()}finally{if(e)throw f}}return c}return function(b,c){if(Array.isArray(b))return b;if(Symbol.iterator in Object(b))return a(b,c);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),_extends=Object.assign||function(a){for(var b=1;b1)throw Error("Second argument not supported");if("object"!=typeof b)throw TypeError("Argument must be an object");a.prototype=b;var c=new a;return a.prototype=null,c}}(),_SubmitSelector:'input[type="submit"], button:submit'},h={namespace:"data-parsley-",inputs:"input, textarea, select",excluded:"input[type=button], input[type=submit], input[type=reset], input[type=hidden]",priorityEnabled:!0,multiple:null,group:null,uiEnabled:!0,validationThreshold:3,focus:"first",trigger:!1,triggerAfterFailure:"input",errorClass:"parsley-error",successClass:"parsley-success",classHandler:function(a){},errorsContainer:function(a){},errorsWrapper:'
      ',errorTemplate:"
    • "},i=function(){this.__id__=g.generateID()};i.prototype={asyncSupport:!0,_pipeAccordingToValidationResult:function(){var b=this,c=function(){var c=a.Deferred();return!0!==b.validationResult&&c.reject(),c.resolve().promise()};return[c,c]},actualizeOptions:function(){return g.attr(this.element,this.options.namespace,this.domOptions),this.parent&&this.parent.actualizeOptions&&this.parent.actualizeOptions(),this},_resetOptions:function(a){this.domOptions=g.objectCreate(this.parent.options),this.options=g.objectCreate(this.domOptions);for(var b in a)a.hasOwnProperty(b)&&(this.options[b]=a[b]);this.actualizeOptions()},_listeners:null,on:function(a,b){return this._listeners=this._listeners||{},(this._listeners[a]=this._listeners[a]||[]).push(b),this},subscribe:function(b,c){a.listenTo(this,b.toLowerCase(),c)},off:function(a,b){var c=this._listeners&&this._listeners[a];if(c)if(b)for(var d=c.length;d--;)c[d]===b&&c.splice(d,1);else delete this._listeners[a];return this},unsubscribe:function(b,c){a.unsubscribeTo(this,b.toLowerCase())},trigger:function(a,b,c){b=b||this;var d,e=this._listeners&&this._listeners[a];if(e)for(var f=e.length;f--;)if(!1===(d=e[f].call(b,b,c)))return d;return!this.parent||this.parent.trigger(a,b,c)},asyncIsValid:function(a,b){return g.warnOnce("asyncIsValid is deprecated; please use whenValid instead"),this.whenValid({group:a,force:b})},_findRelated:function(){return this.options.multiple?a(this.parent.element.querySelectorAll("["+this.options.namespace+'multiple="'+this.options.multiple+'"]')):this.$element}};var j=function(a,b){var c=a.match(/^\s*\[(.*)\]\s*$/);if(!c)throw'Requirement is not an array: "'+a+'"';var d=c[1].split(",").map(g.trimString);if(d.length!==b)throw"Requirement has "+d.length+" values when "+b+" are needed";return d},k=function(a,b,c){var d=null,e={};for(var f in a)if(f){var h=c(f);"string"==typeof h&&(h=g.parseRequirement(a[f],h)),e[f]=h}else d=g.parseRequirement(a[f],b);return[d,e]},l=function(b){a.extend(!0,this,b)};l.prototype={validate:function(a,b){if(this.fn)return arguments.length>3&&(b=[].slice.call(arguments,1,-1)),this.fn(a,b);if(Array.isArray(a)){if(!this.validateMultiple)throw"Validator `"+this.name+"` does not handle multiple values";return this.validateMultiple.apply(this,arguments)}var c=arguments[arguments.length-1];if(this.validateDate&&c._isDateInput())return arguments[0]=g.parse.date(arguments[0]),null!==arguments[0]&&this.validateDate.apply(this,arguments);if(this.validateNumber)return!isNaN(a)&&(arguments[0]=parseFloat(arguments[0]),this.validateNumber.apply(this,arguments));if(this.validateString)return this.validateString.apply(this,arguments);throw"Validator `"+this.name+"` only handles multiple values"},parseRequirements:function(b,c){if("string"!=typeof b)return Array.isArray(b)?b:[b];var d=this.requirementType;if(Array.isArray(d)){for(var e=j(b,d.length),f=0;f1?d-1:0),f=1;f0},validateString:function(a){return/\S/.test(a)},priority:512},type:{validateString:function(a,b){var c=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],d=c.step,e=void 0===d?"any":d,f=c.base,g=void 0===f?0:f,h=n[b];if(!h)throw new Error("validator type `"+b+"` is not supported");if(!h.test(a))return!1;if("number"===b&&!/^any$/i.test(e||"")){var i=Number(a),j=Math.max(o(e),o(g));if(o(i)>j)return!1;var k=function(a){return Math.round(a*Math.pow(10,j))};if((k(i)-k(g))%k(e)!=0)return!1}return!0},requirementType:{"":"string",step:"string",base:"number"},priority:256},pattern:{validateString:function(a,b){return b.test(a)},requirementType:"regexp",priority:64},minlength:{validateString:function(a,b){return a.length>=b},requirementType:"integer",priority:30},maxlength:{validateString:function(a,b){return a.length<=b},requirementType:"integer",priority:30},length:{validateString:function(a,b,c){return a.length>=b&&a.length<=c},requirementType:["integer","integer"],priority:30},mincheck:{validateMultiple:function(a,b){return a.length>=b},requirementType:"integer",priority:30},maxcheck:{validateMultiple:function(a,b){return a.length<=b},requirementType:"integer",priority:30},check:{validateMultiple:function(a,b,c){return a.length>=b&&a.length<=c},requirementType:["integer","integer"],priority:30},min:r(function(a,b){return a>=b}),max:r(function(a,b){return a<=b}),range:r(function(a,b,c){return a>=b&&a<=c}),equalto:{validateString:function(b,c){var d=a(c);return d.length?b===d.val():b===c},priority:256}}};var s={},t=function a(b,c,d){for(var e=[],f=[],g=0;g0&&void 0===b.options.noFocus&&(this._focusedField=b.$element,"first"===this.options.focus))break}return null===this._focusedField?null:this._focusedField.focus()},_destroyUI:function(){this.$element.off(".Parsley")}},s.Field={_reflowUI:function(){if(this._buildUI(),this._ui){var a=t(this.validationResult,this._ui.lastValidationResult);this._ui.lastValidationResult=this.validationResult,this._manageStatusClass(),this._manageErrorsMessages(a),this._actualizeTriggers(),!a.kept.length&&!a.added.length||this._failedOnce||(this._failedOnce=!0,this._actualizeTriggers())}},getErrorsMessages:function(){if(!0===this.validationResult)return[];for(var a=[],b=0;b0?this._errorClass():this._resetClass()},_manageErrorsMessages:function(b){if(void 0===this.options.errorsMessagesDisabled){if(void 0!==this.options.errorMessage)return b.added.length||b.kept.length?(this._insertErrorWrapper(),0===this._ui.$errorsWrapper.find(".parsley-custom-error-message").length&&this._ui.$errorsWrapper.append(a(this.options.errorTemplate).addClass("parsley-custom-error-message")),this._ui.$errorsWrapper.addClass("filled").find(".parsley-custom-error-message").html(this.options.errorMessage)):this._ui.$errorsWrapper.removeClass("filled").find(".parsley-custom-error-message").remove();for(var c=0;c').appendTo(this.$element)),c.attr({name:b.getAttribute("name"),value:b.getAttribute("value")})}this.$element.trigger(_extends(a.Event("submit"),{parsley:!0}))}},validate:function(b){if(arguments.length>=1&&!a.isPlainObject(b)){g.warnOnce("Calling validate on a parsley form without passing arguments as an object is deprecated.");var c=_slice.call(arguments);b={group:c[0],force:c[1],event:c[2]}}return v[this.whenValidate(b).state()]},whenValidate:function(){var b,c=this,d=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],e=d.group,f=d.force,h=d.event;this.submitEvent=h,h&&(this.submitEvent=_extends({},h,{preventDefault:function(){g.warnOnce("Using `this.submitEvent.preventDefault()` is deprecated; instead, call `this.validationResult = false`"),c.validationResult=!1}})),this.validationResult=!0,this._trigger("validate"),this._refreshFields();var i=this._withoutReactualizingFormOptions(function(){return a.map(c.fields,function(a){return a.whenValidate({force:f,group:e})})});return(b=g.all(i).done(function(){c._trigger("success")}).fail(function(){c.validationResult=!1,c.focus(),c._trigger("error")}).always(function(){c._trigger("validated")})).pipe.apply(b,_toConsumableArray(this._pipeAccordingToValidationResult()))},isValid:function(b){if(arguments.length>=1&&!a.isPlainObject(b)){g.warnOnce("Calling isValid on a parsley form without passing arguments as an object is deprecated.");var c=_slice.call(arguments);b={group:c[0],force:c[1]}}return v[this.whenValid(b).state()]},whenValid:function(){var b=this,c=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],d=c.group,e=c.force;this._refreshFields();var f=this._withoutReactualizingFormOptions(function(){return a.map(b.fields,function(a){return a.whenValid({group:d,force:e})})});return g.all(f)},refresh:function(){return this._refreshFields(),this},reset:function(){for(var a=0;a=1&&!a.isPlainObject(b)&&(g.warnOnce("Calling validate on a parsley field without passing arguments as an object is deprecated."),b={options:b});var c=this.whenValidate(b);if(!c)return!0;switch(c.state()){case"pending":return null;case"resolved":return!0;case"rejected":return this.validationResult}},whenValidate:function(){var a,b=this,c=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],d=c.force,e=c.group;if(this.refresh(),!e||this._isInGroup(e))return this.value=this.getValue(),this._trigger("validate"),(a=this.whenValid({force:d,value:this.value,_refreshed:!0}).always(function(){b._reflowUI()}).done(function(){b._trigger("success")}).fail(function(){b._trigger("error")}).always(function(){b._trigger("validated")})).pipe.apply(a,_toConsumableArray(this._pipeAccordingToValidationResult()))},hasConstraints:function(){return 0!==this.constraints.length},needsValidation:function(a){return void 0===a&&(a=this.getValue()),!(!a.length&&!this._isRequired()&&void 0===this.options.validateIfEmpty)},_isInGroup:function(b){return Array.isArray(this.options.group)?-1!==a.inArray(b,this.options.group):this.options.group===b},isValid:function(b){if(arguments.length>=1&&!a.isPlainObject(b)){g.warnOnce("Calling isValid on a parsley field without passing arguments as an object is deprecated.");var c=_slice.call(arguments);b={force:c[0],value:c[1]}}var d=this.whenValid(b);return!d||z[d.state()]},whenValid:function(){var b=this,c=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],d=c.force,e=void 0!==d&&d,f=c.value,h=c.group;if(c._refreshed||this.refresh(),!h||this._isInGroup(h)){if(this.validationResult=!0,!this.hasConstraints())return a.when();if(void 0!==f&&null!==f||(f=this.getValue()),!this.needsValidation(f)&&!0!==e)return a.when();var i=this._getGroupedConstraints(),j=[];return a.each(i,function(c,d){var e=g.all(a.map(d,function(a){return b._validateConstraint(f,a)}));if(j.push(e),"rejected"===e.state())return!1}),g.all(j)}},_validateConstraint:function(b,c){var d=this,e=c.validate(b,this);return!1===e&&(e=a.Deferred().reject()),g.all([e]).fail(function(a){d.validationResult instanceof Array||(d.validationResult=[]),d.validationResult.push({assert:c,errorMessage:"string"==typeof a&&a})})},getValue:function(){var a;return a="function"==typeof this.options.value?this.options.value(this):void 0!==this.options.value?this.options.value:this.$element.val(),void 0===a||null===a?"":this._handleWhitespace(a)},reset:function(){return this._resetUI(),this._trigger("reset")},destroy:function(){this._destroyUI(),this.$element.removeData("Parsley"),this.$element.removeData("FieldMultiple"),this._trigger("destroy")},refresh:function(){return this._refreshConstraints(),this},_refreshConstraints:function(){return this.actualizeOptions()._bindConstraints()},refreshConstraints:function(){return g.warnOnce("Parsley's refreshConstraints is deprecated. Please use refresh"),this.refresh()},addConstraint:function(a,b,c,d){if(window.Parsley._validatorRegistry.validators[a]){var e=new w(this,a,b,c,d);"undefined"!==this.constraintsByName[e.name]&&this.removeConstraint(e.name),this.constraints.push(e),this.constraintsByName[e.name]=e}return this},removeConstraint:function(a){for(var b=0;b1){var c=[];return this.each(function(){c.push(a(this).parsley(b))}),c}if(0!=this.length)return new C(this[0],b)},void 0===window.ParsleyExtend&&(window.ParsleyExtend={}),E.options=_extends(g.objectCreate(h),window.ParsleyConfig),window.ParsleyConfig=E.options,window.Parsley=window.psly=E,E.Utils=g,window.ParsleyUtils={},a.each(g,function(a,b){"function"==typeof b&&(window.ParsleyUtils[a]=function(){return g.warnOnce("Accessing `window.ParsleyUtils` is deprecated. Use `window.Parsley.Utils` instead."),g[a].apply(g,arguments)})});var F=window.Parsley._validatorRegistry=new m(window.ParsleyConfig.validators,window.ParsleyConfig.i18n);window.ParsleyValidator={},a.each("setLocale addCatalog addMessage addMessages getErrorMessage formatMessage addValidator updateValidator removeValidator hasValidator".split(" "),function(a,b){window.Parsley[b]=function(){return F[b].apply(F,arguments)},window.ParsleyValidator[b]=function(){var a;return g.warnOnce("Accessing the method '"+b+"' through Validator is deprecated. Simply call 'window.Parsley."+b+"(...)'"),(a=window.Parsley)[b].apply(a,arguments)}}),window.Parsley.UI=s,window.ParsleyUI={removeError:function(a,b,c){var d=!0!==c;return g.warnOnce("Accessing UI is deprecated. Call 'removeError' on the instance directly. Please comment in issue 1073 as to your need to call this method."),a.removeError(b,{updateClass:d})},getErrorsMessages:function(a){return g.warnOnce("Accessing UI is deprecated. Call 'getErrorsMessages' on the instance directly."),a.getErrorsMessages()}},a.each("addError updateError".split(" "),function(a,b){window.ParsleyUI[b]=function(a,c,d,e,f){var h=!0!==f;return g.warnOnce("Accessing UI is deprecated. Call '"+b+"' on the instance directly. Please comment in issue 1073 as to your need to call this method."),a[b](c,{message:d,assert:e,updateClass:h})}}),!1!==window.ParsleyConfig.autoBind&&a(function(){a("[data-parsley-validate]").length&&a("[data-parsley-validate]").parsley()});var G=a({}),H=function(){g.warnOnce("Parsley's pubsub module is deprecated; use the 'on' and 'off' methods on parsley instances or window.Parsley")},I="parsley:";a.listen=function(a,d){var e;if(H(),"object"==typeof arguments[1]&&"function"==typeof arguments[2]&&(e=arguments[1],d=arguments[2]),"function"!=typeof d)throw new Error("Wrong parameters");window.Parsley.on(c(a),b(d,e))},a.listenTo=function(a,d,e){if(H(),!(a instanceof A||a instanceof u))throw new Error("Must give Parsley instance");if("string"!=typeof d||"function"!=typeof e)throw new Error("Wrong parameters");a.on(c(d),b(e))},a.unsubscribe=function(a,b){if(H(),"string"!=typeof a||"function"!=typeof b)throw new Error("Wrong arguments");window.Parsley.off(c(a),b.parsleyAdaptedCallback)},a.unsubscribeTo=function(a,b){if(H(),!(a instanceof A||a instanceof u))throw new Error("Must give Parsley instance");a.off(c(b))},a.unsubscribeAll=function(b){H(),window.Parsley.off(c(b)),a("form,input,textarea,select").each(function(){var d=a(this).data("Parsley");d&&d.off(c(b))})},a.emit=function(a,b){var d;H();var e=b instanceof A||b instanceof u,f=Array.prototype.slice.call(arguments,e?2:1);f.unshift(c(a)),e||(b=window.Parsley),(d=b).trigger.apply(d,_toConsumableArray(f))};return a.extend(!0,E,{asyncValidators:{default:{fn:function(a){return a.status>=200&&a.status<300},url:!1},reverse:{fn:function(a){return a.status<200||a.status>=300},url:!1}},addAsyncValidator:function(a,b,c,d){return E.asyncValidators[a]={fn:b,url:c||!1,options:d||{}},this}}),E.addValidator("remote",{requirementType:{"":"string",validator:"string",reverse:"boolean",options:"object"},validateString:function(b,c,d,e){var f,g,h={},i=d.validator||(!0===d.reverse?"reverse":"default");if(void 0===E.asyncValidators[i])throw new Error("Calling an undefined async validator: `"+i+"`");c=E.asyncValidators[i].url||c,c.indexOf("{value}")>-1?c=c.replace("{value}",encodeURIComponent(b)):h[e.element.getAttribute("name")||e.element.getAttribute("id")]=b;var j=a.extend(!0,d.options||{},E.asyncValidators[i].options);f=a.extend(!0,{},{url:c,data:h,type:"GET"},j),e.trigger("field:ajaxoptions",e,f),g=a.param(f),void 0===E._remoteCache&&(E._remoteCache={});var k=E._remoteCache[g]=E._remoteCache[g]||a.ajax(f),l=function(){var b=E.asyncValidators[i].fn.call(e,k,c,d);return b||(b=a.Deferred().reject()),a.when(b)};return k.then(l,l)},priority:-1}),E.on("form:submit",function(){E._remoteCache={}}),i.prototype.addAsyncValidator=function(){return g.warnOnce("Accessing the method `addAsyncValidator` through an instance is deprecated. Simply call `Parsley.addAsyncValidator(...)`"),E.addAsyncValidator.apply(E,arguments)},E.addMessages("en",{defaultMessage:"This value seems to be invalid.",type:{email:"This value should be a valid email.",url:"This value should be a valid url.",number:"This value should be a valid number.",integer:"This value should be a valid integer.",digits:"This value should be digits.",alphanum:"This value should be alphanumeric."},notblank:"This value should not be blank.",required:"This value is required.",pattern:"This value seems to be invalid.",min:"This value should be greater than or equal to %s.",max:"This value should be lower than or equal to %s.",range:"This value should be between %s and %s.",minlength:"This value is too short. It should have %s characters or more.",maxlength:"This value is too long. It should have %s characters or fewer.",length:"This value length is invalid. It should be between %s and %s characters long.",mincheck:"You must select at least %s choices.",maxcheck:"You must select %s choices or fewer.",check:"You must select between %s and %s choices.",equalto:"This value should be the same."}),E.setLocale("en"),(new d).install(),E}),jQuery(document).ready(function(a){window.Parsley.on("field:error",function(){this.$element.attr("aria-describedby",this._ui.errorsWrapperId).attr("aria-invalid","true"),this._ui.$errorsWrapper.attr("aria-live","polite")}),window.Parsley.on("field:success",function(){this.$element.attr("aria-invalid")&&this.$element.removeAttr("aria-invalid")})});