This repository was archived by the owner on Sep 4, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathangular.unobtrusive.validation.min.js
2 lines (2 loc) · 18.6 KB
/
angular.unobtrusive.validation.min.js
1
2
var ResponsivePath;!function(a){var b;!function(a){var b;!function(a){function b(a){var b=function(){for(var b=[],c=0;c<arguments.length;c++)b[c-0]=arguments[c];var d=Object.create(a.prototype);return a.apply(d,b),d};return b.$inject=a.$inject,b}a.constructorAsInjectable=b}(b=a.Unobtrusive||(a.Unobtrusive={}))}(b=a.Validation||(a.Validation={}))}(ResponsivePath||(ResponsivePath={}));var ResponsivePath;!function(a){var b;!function(a){var b;!function(a){a.modBase=angular.module("unobtrusive.validation.only",[]),a.mod=angular.module("unobtrusive.validation",["unobtrusive.validation.only","unobtrusive.validation.valmsgFor","unobtrusive.validation.valmsgSummary","unobtrusive.validation.templates"])}(b=a.Unobtrusive||(a.Unobtrusive={}))}(b=a.Validation||(a.Validation={}))}(ResponsivePath||(ResponsivePath={}));var ResponsivePath;!function(a){var b;!function(a){var b;!function(a){var b=function(){function a(a){var b=this;this.validation=a,this.restrict="A",this.require="^?form",this.link=function(a,c,d,e){c.on("click",function(c){b.validation.ensureValidation(e).submitted(),a.$digest(),e.$invalid&&(c.preventDefault(),b.validation.getShouldSetFormSubmitted()&&(e.$setSubmitted(),a.$digest()))});var f=[a.$watch(function(){return e&&e.$invalid},function(a){a?c.addClass("disabled"):c.removeClass("disabled")})];c.on("$destroy",function(){for(var a in f)f[a]()})},this.validation=a}return a.$inject=["validation"],a}();a.modBase.directive("valSubmit",a.constructorAsInjectable(b))}(b=a.Unobtrusive||(a.Unobtrusive={}))}(b=a.Validation||(a.Validation={}))}(ResponsivePath||(ResponsivePath={}));var ResponsivePath;!function(a){var b;!function(a){var b;!function(a){function b(a,b){return a.slice(0,b.length)==b}function c(a){return a.charAt(0).toLowerCase()+a.slice(1)}var d=function(){function d(a,b,c,d,e,f,g){var h=this;this.attrs=a,this.ngModelController=b,this.svc=c,this.formController=d,this.$injector=e,this.$sce=f,this.getValidationType=g,this.showValidationSummary=!1,this.validationEnabled=!0,this.actualValidators={},this.runValidations=function(a){return h.validationEnabled&&angular.forEach(h.validators,function(b){b.validate(a,b)?b.pass():b.fail()}),a},this.fail=function(a,b){h.validationEnabled&&h.ngModelController.$setValidity(a,!1),h.ngModelController.overrideValidationMessages[a]=b?h.$sce.trustAsHtml(b):null},this.pass=function(a){h.ngModelController.$setValidity(a,!0)},this.validationFor=a.name,b.allValidationMessages={},b.overrideValidationMessages={},this.validators=this.buildValidatorsFromAttributes(),angular.forEach(this.validators,function(a,b){h.actualValidators[b]=function(b){return h.validationEnabled?a.validate(b,a):!0}})}return d.prototype.enable=function(){this.validationEnabled=!0,this.runValidations(this.formController[this.validationFor].$modelValue)},d.prototype.disable=function(){var a=this;this.validationEnabled=!1,angular.forEach(this.validators,function(b,c){a.pass(c)})},d.prototype.buildValidatorsFromAttributes=function(){var d=this,e=Object.keys(this.attrs).sort(),f={};return angular.forEach(e,function(e){if("val"!=e&&"valIf"!=e&&"valRealtime"!=e&&b(e,"val")){var g=!1;if(e.substr(3).charAt(0).toLowerCase()!=e.substr(3).charAt(0)){var h=c(e.substr(3));if(angular.forEach(f,function(a,f){return b(h,f)?(a.parameters[c(h.substr(f.length))]=d.attrs[e],void(g=!0)):void 0}),!g){var i=d.getValidationType(h);i?(d.ngModelController.allValidationMessages[h]=d.$sce.trustAsHtml(d.attrs[e]),f[h]=new a.Validator(h,i,d.attrs,d.formController,d.ngModelController,d,d.$injector)):console.log("WARNING: Unhandled validation attribute: "+h)}}}}),f},d}();a.ValidationTools=d}(b=a.Unobtrusive||(a.Unobtrusive={}))}(b=a.Validation||(a.Validation={}))}(ResponsivePath||(ResponsivePath={}));var ResponsivePath;!function(a){var b;!function(a){var b;!function(a){var b=function(){function a(a){var b=this;this.validation=a,this.restrict="A",this.require="^form",this.scope={valmsgFor:"@"},this.templateUrl="templates/angular-unobtrusive-validation/valmsgFor.html",this.transclude=!0,this.link=function(a,c,d,e){var f=e[a.valmsgFor];a.$parent.$watchCollection(function(){return f.$invalid&&b.validation.activeMessageArray(e,a.valmsgFor)},function(b){return b?(a.messages=b,void(b&&Object.keys(b).length?(c.removeClass("field-validation-valid"),c.addClass("field-validation-error")):(c.addClass("field-validation-valid"),c.removeClass("field-validation-error")))):(a.messages={},c.addClass("field-validation-valid"),void c.removeClass("field-validation-error"))})}}return a.$inject=["validation"],a}();angular.module("unobtrusive.validation.valmsgFor",[a.modBase.name]).directive("valmsgFor",a.constructorAsInjectable(b))}(b=a.Unobtrusive||(a.Unobtrusive={}))}(b=a.Validation||(a.Validation={}))}(ResponsivePath||(ResponsivePath={}));var ResponsivePath;!function(a){var b;!function(a){var b;!function(a){var b=function(){function a(a,b){var c=this;this.validation=a,this.sce=b,this.restrict="A",this.scope={},this.templateUrl="templates/angular-unobtrusive-validation/valmsgSummary.html",this.transclude=!0,this.require="^form",this.link=function(a,b,d,e){a.validationSummary=[],a.submitted=!1;var f=(a.$parent,function(){var d=[],f=[],g=c.validation.activeMessageArray(e);angular.forEach(g,function(a){angular.forEach(a,function(a){var b=c.sce.getTrustedHtml(a);a&&b&&-1==d.indexOf(b)&&(d.push(b),f.push(a))})}),a.validationSummary=f,a.submitted&&(f.length?(b.removeClass("validation-summary-valid"),b.addClass("validation-summary-errors")):(b.addClass("validation-summary-valid"),b.removeClass("validation-summary-errors")))}),g=[a.$watch(function(){return e.$error},f,!0),a.$watch(function(){return e.$$validationState.activeErrors},function(b){a.submitted=!!b,f()},!0)];b.on("$destroy",function(){return angular.forEach(g,function(a){return a()})})}}return a.$inject=["validation","$sce"],a}();angular.module("unobtrusive.validation.valmsgSummary",[a.modBase.name]).directive("valmsgSummary",a.constructorAsInjectable(b))}(b=a.Unobtrusive||(a.Unobtrusive={}))}(b=a.Validation||(a.Validation={}))}(ResponsivePath||(ResponsivePath={}));var __extends=this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);c.prototype=b.prototype,a.prototype=new c},ResponsivePath;!function(a){var b;!function(a){var b;!function(a){var b=function(){function b(c){var d=this;this.validation=c,this.restrict="E",this.require="form",this.link=function(c,e,f,g){g.$$validationState={blurErrors:null,submittedErrors:null,activeErrors:{},blurred:function(){g.$$validationState.blurErrors=b.copyErrors(g.$error)},submitted:function(){angular.forEach(a.ValidationService.getModelNames(g),function(a){g[a].submittedErrors=g[a].blurErrors=angular.copy(g[a].$error)}),g.$$validationState.submittedErrors=g.$$validationState.blurErrors=b.copyErrors(g.$error)}},d.validation.getValidationTiming().registerForm(c,e,g)}}return b.copyErrors=function(a){var b={};return angular.forEach(a,function(a,c){b[c]=a.slice(0)}),b},b.$inject=["validation"],b}(),c=function(a){function b(){a.apply(this,arguments),this.restrict="EAC"}return __extends(b,a),b}(b);a.modBase.directive("form",a.constructorAsInjectable(b)).directive("ngForm",a.constructorAsInjectable(c))}(b=a.Unobtrusive||(a.Unobtrusive={}))}(b=a.Validation||(a.Validation={}))}(ResponsivePath||(ResponsivePath={}));var ResponsivePath;!function(a){var b;!function(a){var b;!function(){}(b=a.Unobtrusive||(a.Unobtrusive={}))}(b=a.Validation||(a.Validation={}))}(ResponsivePath||(ResponsivePath={}));var ResponsivePath;!function(a){var b;!function(a){var b;!function(a){var b=function(){function a(a){var b=this;this.validation=a,this.restrict="A",this.require=["ngModel","^?form"],this.link=function(a,c,d,e){var f=e[0],g=e[1];f.blurErrors={},f.submittedErrors={};var h=[a.$watchCollection(function(){return f.activeErrors},function(a){a&&Object.keys(a).length?(c.addClass(b.validation.getDelayedInvalidClass()),c.removeClass(b.validation.getDelayedValidClass())):(c.removeClass(b.validation.getDelayedInvalidClass()),c.addClass(b.validation.getDelayedValidClass()))})];b.validation.getValidationTiming().registerModel(a,c,f,g);d.name;c.on("$destroy",function(){_.each(f.$error,function(a,b){f.$setValidity(b,!0)});for(var a in h)h[a]()}),c.on("blur",function(){f.blurErrors=angular.copy(f.$error),g&&g.$$validationState.blurred(),a.$digest()})}}return a.$inject=["validation"],a}();a.modBase.directive("ngModel",a.constructorAsInjectable(b))}(b=a.Unobtrusive||(a.Unobtrusive={}))}(b=a.Validation||(a.Validation={}))}(ResponsivePath||(ResponsivePath={}));var ResponsivePath;!function(a){var b;!function(a){var b;!function(a){var b=function(){function a(a,b){var c=this;this.validation=a,this.parse=b,this.restrict="A",this.require=["ngModel","^form"],this.link=function(a,b,d,e){function f(){j&&k?n.enable():n.disable()}var g=e[0],h=e[1],i=c.parse(d.val),j=i(a),k=!0;g.overrideValidationMessages={};var l=[a.$watch(function(){return i(a)},function(a){j=a,f()})];if(d.valIf){var m=c.parse(d.valIf);l.push(a.$watch(function(){return m(a)},function(a){k=a,f()}))}var n=c.validation.buildValidation(h,b,d,g);angular.forEach(n.actualValidators,function(a,b){g.$validators[b]=a}),b.on("$destroy",function(){for(var a in l)l[a]()})}}return a.$inject=["validation","$parse"],a}();a.modBase.directive("val",a.constructorAsInjectable(b))}(b=a.Unobtrusive||(a.Unobtrusive={}))}(b=a.Validation||(a.Validation={}))}(ResponsivePath||(ResponsivePath={}));var ResponsivePath;!function(a){var b;!function(a){var b;!function(a){var b;!function(a){a.Realtime={registerForm:function(a,b,c){c.$$validationState.activeErrors=c.$error},registerModel:function(a,b,c){c.activeErrors=c.$error}},a.OnBlur={registerForm:function(a,b,c){var d=a.$watch(function(){return c.$$validationState.blurErrors},function(){return c.$$validationState.activeErrors=c.$$validationState.blurErrors},!0);b.on("$destroy",function(){return d()})},registerModel:function(a,b,c){var d=a.$watch(function(){return c.blurErrors},function(){return c.activeErrors=c.blurErrors},!0);b.on("$destroy",function(){return d()})}},a.OnSubmit={registerForm:function(a,b,c){var d=a.$watch(function(){return c.$$validationState.submittedErrors},function(){return c.$$validationState.activeErrors=c.$$validationState.submittedErrors},!0);b.on("$destroy",function(){return d()})},registerModel:function(a,b,c){var d=a.$watch(function(){return c.submittedErrors},function(){return c.activeErrors=c.submittedErrors},!0);b.on("$destroy",function(){return d()})}},a.DotNet={registerForm:function(a,b,c){var d=a.$watch(function(){return c.$$validationState.submittedErrors},function(){return c.$$validationState.activeErrors=c.$$validationState.submittedErrors},!0);b.on("$destroy",function(){return d()})},registerModel:function(a,b,c){var d=a.$watch(function(){return c.blurErrors},function(){return c.activeErrors=c.blurErrors},!0);b.on("$destroy",function(){return d()})}}}(b=a.ValidationTiming||(a.ValidationTiming={}));var c=function(){function c(){this.validationTypes={},this.timing=b.Realtime,this.shouldSetFormSubmitted=!0,this.delayedValidClass="ng-delayed-valid",this.delayedInvalidClass="ng-delayed-invalid",this.$get.$inject=["$injector"]}return c.prototype.getValidationType=function(a){return this.validationTypes[a]},c.prototype.addValidator=function(a,b,c){this.validationTypes[a]={validate:b,inject:c||[]}},c.prototype.$get=function(b){var c=this;return b.instantiate(a.ValidationService,{getValidationType:function(a){return c.getValidationType(a)},validationMessagingTiming:this.timing,shouldSetFormSubmitted:this.shouldSetFormSubmitted,delayedValidClass:this.delayedValidClass,delayedInvalidClass:this.delayedInvalidClass})},c.prototype.setValidationMessagingTiming=function(a){this.timing=a},c.prototype.setShouldSetFormSubmitted=function(a){this.shouldSetFormSubmitted=a},c.prototype.setValidityClasses=function(a,b){this.delayedValidClass=a,this.delayedInvalidClass=b},c.$inject=[],c}();a.ValidationProvider=c,a.modBase.provider("validation",a.constructorAsInjectable(c))}(b=a.Unobtrusive||(a.Unobtrusive={}))}(b=a.Validation||(a.Validation={}))}(ResponsivePath||(ResponsivePath={}));var ResponsivePath;!function(a){var b;!function(a){var b;!function(a){var b=function(){function b(a,c,d,e,f,g,h){var i=this;this.$injector=a,this.$sce=c,this.getValidationType=d,this.validationMessagingTiming=e,this.shouldSetFormSubmitted=f,this.delayedValidClass=g,this.delayedInvalidClass=h,this.messageArray=function(a,c){if(c)return a[c].allValidationMessages;var d={};return angular.forEach(b.getModelNames(a),function(b){d[b]=a[b].allValidationMessages}),d},this.activeMessageArray=function(a,b){if(b){var c=a[b],d={};return angular.forEach(c.activeErrors,function(a,b){var e=c.overrideValidationMessages[b]||c.allValidationMessages[b];a&&e&&(d[b]=e)}),d}var e={};return angular.forEach(i.ensureValidation(a).activeErrors,function(a,c){angular.forEach(a,function(a){b=a.$name,e[b]=e[b]||{},e[b][c]=a.overrideValidationMessages[c]||a.allValidationMessages[c]})}),e}}return b.prototype.ensureValidation=function(a){var b=a;return b.$$validationState},b.prototype.getValidation=function(a){return angular.copy(this.getValidationType(a))},b.prototype.buildValidation=function(b,c,d,e){return new a.ValidationTools(d,e,this,b,this.$injector,this.$sce,this.getValidationType)},b.prototype.getValidationTiming=function(){return this.validationMessagingTiming},b.prototype.getShouldSetFormSubmitted=function(){return this.shouldSetFormSubmitted},b.getModelNames=function(a){var b=[];return angular.forEach(Object.keys(a),function(c){"$"!=c[0]&&a[c].$error&&b.push(c)}),b},b.prototype.getDelayedValidClass=function(){return this.delayedValidClass},b.prototype.getDelayedInvalidClass=function(){return this.delayedInvalidClass},b.$inject=["$injector","$sce","getValidationType","validationMessagingTiming","shouldSetFormSubmitted","delayedValidClass","delayedInvalidClass"],b}();a.ValidationService=b}(b=a.Unobtrusive||(a.Unobtrusive={}))}(b=a.Validation||(a.Validation={}))}(ResponsivePath||(ResponsivePath={}));var ResponsivePath;!function(a){var b;!function(a){var b;!function(a){var b=function(){function a(a,b,c,d,e,f,g){var h=this;this.name=a,this.attributes=c,this.formController=d,this.ngModel=e,this.validationTools=f,this.parameters={},this.injected={},this.validate=b.validate,b.inject&&angular.forEach(b.inject,function(a){h.injected[a]=g.get(a)})}return a.prototype.fail=function(a){this.validationTools.fail(this.name,a)},a.prototype.pass=function(){this.validationTools.pass(this.name)},a}();a.Validator=b}(b=a.Unobtrusive||(a.Unobtrusive={}))}(b=a.Validation||(a.Validation={}))}(ResponsivePath||(ResponsivePath={}));var ResponsivePath;!function(a){var b;!function(a){var b;!function(a){function b(a){return a.substr(0,a.lastIndexOf(".")+1)}function c(a,b){return 0===a.indexOf("*.")&&(a=a.replace("*.",b)),a}function d(a){a.addValidator("required",function(a){return!!a||0===a}),a.addValidator("regex",function(a,b){return!a||!!new RegExp(b.parameters.pattern).exec(a)}),a.addValidator("email",function(a){return!a||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)}),a.addValidator("creditcard",function(a){if(!a)return!0;if(/[^0-9 \-]+/.test(a))return!1;var b,c,d=0,e=0,f=!1;if(a=a.replace(/\D/g,""),a.length<13||a.length>19)return!1;for(b=a.length-1;b>=0;b--)c=a.charAt(b),e=parseInt(c,10),f&&(e*=2)>9&&(e-=9),d+=e,f=!f;return d%10===0}),a.addValidator("date",function(a){return a?!/Invalid|NaN/.test(new Date(a).toString()):!0}),a.addValidator("digits",function(a){return a?/^\d+$/.test(a):!0}),a.addValidator("number",function(a){return"number"==typeof a?!0:a?/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a.toString()):!0}),a.addValidator("url",function(a){return a?/^(https?|s?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(a):!0}),a.addValidator("minlength",function(a,b){return a?a.length>=parseInt(b.parameters.min):!0}),a.addValidator("maxlength",function(a,b){return a?a.length<=parseInt(b.parameters.max):!0}),a.addValidator("length",function(a,b){return a?(!b.parameters.min||a.length>=parseInt(b.parameters.min))&&(!b.parameters.max||a.length<=parseInt(b.parameters.max)):!0}),a.addValidator("range",function(a,b){if(!a)return!0;var c=parseFloat(a);return c<=parseFloat(b.parameters.max)&&c>=parseFloat(b.parameters.min)}),a.addValidator("password",function(a,b){function c(a,b){var c=a.match(/\W/g);return c&&c.length>=b}return a?!(b.parameters.min&&!(a.length>=parseInt(b.parameters.min))||b.parameters.nonalphamin&&!c(a,parseInt(b.parameters.nonalphamin))||b.parameters.regex&&!new RegExp(b.parameters.regex).exec(a)):!0}),a.addValidator("equalto",function(a,d){var e=b(d.attributes.name),f=d.parameters.other,g=c(f,e),h=d.formController[g].$modelValue;return h==a},["validation"]),a.addValidator("extension",function(a,b){if(!a)return!0;var c="string"==typeof b.parameters.extension?b.parameters.extension.replace(/,/g,"|"):"png|jpe?g|gif";return!!new RegExp("\\.("+c+")$","i").exec(a)}),a.addValidator("remote",function(a,d){if(d.ngModel.remoteTimeout&&d.ngModel.remoteTimeout.resolve(),!a)return!0;var e=b(d.attributes.name),f={};f[d.attributes.name]=a,angular.forEach((d.parameters.additionalfields||"").split(","),function(a){var b=c(a,e);f[b]=d.formController[b].$modelValue});var g=d.injected.$q.defer();return d.ngModel.remoteTimeout=g,d.injected.$http({method:d.parameters.type,url:d.parameters.url,data:f,cache:!0,timeout:g.promise,responseType:"json"}).success(function(a){a!==!0&&"true"!==a&&d.fail(a)}),!0},["validation","$http","$q"])}d.$inject=["validationProvider"],a.modBase.config(d)}(b=a.Unobtrusive||(a.Unobtrusive={}))}(b=a.Validation||(a.Validation={}))}(ResponsivePath||(ResponsivePath={}));
//# sourceMappingURL=angular.unobtrusive.validation.min.js.map