1(function(){angular.module("validation",["validation.provider","validation.directive"])}).call(this),function(){angular.module("validation.provider",[]).provider("$validation",function(){var a,b,c,d=this,e=function(d){a=d,b=a.get("$http"),c=a.get("$q")},f={required:/^.+$/,url:/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/,email:/^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/,number:/^\d+$/},g={required:{error:"This should be Required!!",success:"It's Required"},url:{error:"This should be Url",success:"It's Url"},email:{error:"This should be Email",success:"It's Email"},number:{error:"This should be Number",success:"It's Number"}};this.setExpression=function(a){angular.extend(f,a)},this.getExpression=function(a){return f[a]},this.setDefaultMsg=function(a){angular.extend(g,a)},this.getDefaultMsg=function(a){return g[a]},this.setErrorHTML=function(a){a.constructor===Function&&(d.getErrorHTML=a)},this.getErrorHTML=function(a){return'<p class="validation-invalid">'+a+"</p>"},this.setSuccessHTML=function(a){a.constructor===Function&&(d.getSuccessHTML=a)},this.getSuccessHTML=function(a){return'<p class="validation-valid">'+a+"</p>"},this.checkValid=function(a){return void 0===a.$valid?!1:a&&a.$valid===!0},this.validate=function(a,b){for(var e in b)b[e].hasOwnProperty("$dirty")&&a.$broadcast(e+"submit");var f=c.defer();return f.promise.success=function(a){return f.promise.then(function(b){a(b)}),f.promise},f.promise.error=function(a){return f.promise.then(null,function(b){a(b)}),f.promise},d.checkValid(b)?f.resolve("success"):f.reject("error"),f.promise},this.reset=function(a,b){for(var c in b)b[c].hasOwnProperty("$dirty")&&(b[c].$setViewValue(null),b[c].$setPristine(),b[c].$setValidity(b[c].$name,!1),b[c].$render(),a.$broadcast(c+"reset"))},this.$get=function(a){return e(a),{setErrorHTML:this.setErrorHTML,getErrorHTML:this.getErrorHTML,setSuccessHTML:this.setSuccessHTML,getSuccessHTML:this.getSuccessHTML,setExpression:this.setExpression,getExpression:this.getExpression,setDefaultMsg:this.setDefaultMsg,getDefaultMsg:this.getDefaultMsg,checkValid:this.checkValid,validate:this.validate,reset:this.reset}}})}.call(this),function(){angular.module("validation.directive",["validation.provider"]).directive("validator",["$injector",function(a){var b=a.get("$validation"),c=a.get("$q"),d=function(a,c,d,e,f){a.next().html(b.getSuccessHTML(c||b.getDefaultMsg(d).success)),f.$setValidity(f.$name,!0),e&&e()},e=function(a,c,d,e,f){a.next().html(b.getErrorHTML(c||b.getDefaultMsg(d).error)),f.$setValidity(f.$name,!1),e&&e()},f=function(a,f,g,h,i,j){var k=i+"SuccessMessage",l=i+"ErrorMessage",m=b.getExpression(i).constructor,n={success:function(){d(f,g[k],i,a.validCallback(),h)},error:function(){e(f,g[l],i,a.invalidCallback(),h)}};return m===Function?c.all([b.getExpression(i)(j)]).then(function(a){return a&&a.length>0&&a[0]?n.success():n.error()},function(){return n.error()}):m===RegExp?b.getExpression(i).test(j)?n.success():n.error():n.error()};return{restrict:"A",require:"ngModel",scope:{model:"=ngModel",validCallback:"&",invalidCallback:"&"},link:function(a,b,c,d){var e=c.validator.split(",");b.after("<span></span>"),c.$observe("noValidationMessage",function(a){var c=b.next();"true"==a||1==a?c.css("display","none"):("false"==a||0==a)&&c.css("display","block")}),e.forEach(function(e){return d.$setValidity(d.$name,!1),a.$on(d.$name+"submit",function(){var g=b[0].value;f(a,b,c,d,e,g)}),a.$on(d.$name+"reset",function(){b.next().html("")}),"blur"===c.validMethod?(b.bind("blur",function(){var g=b[0].value;a.$apply(function(){f(a,b,c,d,e,g)})}),void 0):("submit"!==c.validMethod&&a.$watch("model",function(g){if(d.$pristine&&d.$viewValue)d.$setViewValue(d.$viewValue);else if(d.$pristine)return b.next().html(""),void 0;f(a,b,c,d,e,g)}),void 0)})}}}])}.call(this);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.