UNPKG

valide

Version:

Simple, chainable, multi lingual data validator

13 lines (12 loc) 5.42 kB
var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,c,g){a!=Array.prototype&&a!=Object.prototype&&(a[c]=g.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_"; $jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.Symbol=function(){var a=0;return function(c){return $jscomp.SYMBOL_PREFIX+(c||"")+a++}}(); $jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var a=$jscomp.global.Symbol.iterator;a||(a=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&$jscomp.defineProperty(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(a){var c=0;return $jscomp.iteratorPrototype(function(){return c<a.length?{done:!1,value:a[c++]}:{done:!0}})}; $jscomp.iteratorPrototype=function(a){$jscomp.initSymbolIterator();a={next:a};a[$jscomp.global.Symbol.iterator]=function(){return this};return a};$jscomp.iteratorFromArray=function(a,c){$jscomp.initSymbolIterator();a instanceof String&&(a+="");var g=0,d={next:function(){if(g<a.length){var f=g++;return{value:c(f,a[f]),done:!1}}d.next=function(){return{done:!0,value:void 0}};return d.next()}};d[Symbol.iterator]=function(){return d};return d}; $jscomp.polyfill=function(a,c,g,d){if(c){g=$jscomp.global;a=a.split(".");for(d=0;d<a.length-1;d++){var f=a[d];f in g||(g[f]={});g=g[f]}a=a[a.length-1];d=g[a];c=c(d);c!=d&&null!=c&&$jscomp.defineProperty(g,a,{configurable:!0,writable:!0,value:c})}};$jscomp.polyfill("Array.prototype.keys",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(a){return a})}},"es6","es3"); (function(a,c){"object"===typeof exports&&"undefined"!==typeof module?c(exports):"function"===typeof define&&define.amd?define(["exports"],c):c(a.Valide={})})(this,function(a){function c(a,b){var h=d[f.current]||d[f.default];h||console.warn('[Valide] No keys for language "'+f.current+'" found.');h&&!h[a]&&console.warn('[Valide] No such key "'+a+'" for language "'+f.current+'" found.');return g(d[f.current][a],b)}function g(a,b){void 0===b&&(b={});var h=Object.keys(b).map(function(a){return":"+a}).join("|"); return a.replace(new RegExp(h,"g"),function(a){return b[a.substr(1)]||a})}var d={en:{invalid_field:"Invalid field",required:"Field is required",include:"Field must include :value",exclude:"Field must exclude :value",be_equal:"Field must be equal to :value",not_be_equal:"Field must not be equal to :value",min_length:"Min char length is :length",max_length:"Max char length is :length",invalid_email:"Email is not valid"}},f={default:"en",current:"en"},e=function(a){this.value=a;this.rules=[]},k={language:{configurable:!0}, version:{configurable:!0}};e.prototype.register=function(a){var h=this,d=a.validate,e=a.error,f=this.rules.push({type:a.type,validate:function(a){return!("string"!==typeof a&&"number"!==typeof a&&!a)&&d(a)},error:e||c("invalid_field")});this.error=function(a,b){h.rules[f-1].error=a&&g(a,b)||e;return h};return this};e.prototype.valueOf=function(){return this.check()};e.prototype.toString=function(){return this.check()};e.prototype.check=function(a){var h=this;"undefined"!==typeof a&&(this.value=a); return this.rules.reduce(function(a,b){return"string"===typeof a?a:!b.validate(h.value)&&b.error||a},!0)};e.prototype.required=function(){return this.register({type:"required",validate:function(a){return""!==a},error:c("required")})};e.prototype.test=function(a){return this.register({type:"test",validate:function(b){return""===b||a.test(b)},error:c("invalid_field")})};e.prototype.includes=function(a){return this.register({type:"includes",validate:function(b){return""===b||Array.isArray(b)&&0<=b.indexOf(a)|| "string"===typeof b&&0<=b.indexOf(a)},error:c("include",{value:a})})};e.prototype.excludes=function(a){return this.register({type:"excludes",validate:function(b){return""===b||Array.isArray(b)&&0>b.indexOf(a)||"string"===typeof b&&0>b.indexOf(a)},error:c("exclude",{value:a})})};e.prototype.equal=function(a){return this.register({type:"equal",validate:function(b){return""===b||b+""===a+""},error:c("be_equal",{value:a})})};e.prototype.notEqual=function(a){return this.register({type:"notEqual",validate:function(b){return""=== b||b+""!==a+""},error:c("not_be_equal",{value:a})})};e.prototype.min=function(a){return this.register({type:"min",validate:function(b){return b.length>=a},error:c("min_length",{length:a})})};e.prototype.max=function(a){return this.register({type:"max",validate:function(b){return b.length<a},error:c("max_length",{length:a})})};e.prototype.email=function(){return this.register({type:"email",validate:function(a){return""===a||/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(a)},error:c("invalid_email")})};k.language.get= function(){return f.current};k.language.set=function(a){return f.current=a};k.version.get=function(){return"1.0.0"};Object.defineProperties(e,k);window&&(window.Valide=e);a.Valide=e;Object.defineProperty(a,"__esModule",{value:!0})});