From a73377c21604fc94151b2707b7a2ef1bd386b1e7 Mon Sep 17 00:00:00 2001 From: Carney Lau Date: Wed, 5 Jun 2013 01:08:42 -0700 Subject: [PATCH] add stringlength validation --- lib.js | 2 +- lib.min.js | 2 +- tests/tests.js | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib.js b/lib.js index 8cfd509..5f0057b 100644 --- a/lib.js +++ b/lib.js @@ -248,7 +248,7 @@ var rigel = rigel || {}; * rule {minLength, maxLength, trim} * @see StringLengthFieldValidator.java */ - "stringLength": function (rule, value) { + "stringlength": function (rule, value) { // if there is no value - don't do comparison // if a value is required, a required validator should be added value = modify(value, null); diff --git a/lib.min.js b/lib.min.js index 7c2f8cc..1a9fc58 100644 --- a/lib.min.js +++ b/lib.min.js @@ -1 +1 @@ -var rigel=rigel||{};(function(c,a,d){var b={};var e={validators:{}};e.result=function(g){var f={result:!g.length,stacks:g};!f.result&&(f.field=g[0].field);!f.result&&(f.message=g[0].message);return f};e.validators=function(){function f(h){h==null&&(h=d);return String(h).replace(new RegExp("(^[\\s\\t\\xa0\\u3000]+)|([\\u3000\\xa0\\s\\t]+$)","g"),"")}function g(i,h){if(i===""||i===d||i===null){i=h}return i}return{required:function(i,h){h=g(h,null);return h==null?i.message:true},requiredstring:function(i,h){h=g(h,"");i.trim==true&&(h=f(h));return h.length==0?i.message:true},"int":function(k,j){j=g(j,null);if(j==null){return true}if(!/^\-?[0-9]+$/.test(j)){return k.message}else{j=parseInt(j)}var i=parseInt(k.min);var h=parseInt(k.max);if(!isNaN(i)&&j-i<0){return k.message}if(!isNaN(h)&&j-h>0){return k.message}return true},"long":function(){return this["int"].apply(this,[].slice.call(arguments))},"double":function(m,k){k=g(k,null);if(k==null){return true}if(!/^\-?[0-9]*\.?[0-9]+$/.test(k)){return m.message}else{k=parseFloat(k)}var h=parseFloat(m.maxInclusive);var i=parseFloat(m.minInclusive);var j=parseFloat(m.maxExclusive);var l=parseFloat(m.minExclusive);if((!isNaN(h)&&k-h>0)||(!isNaN(i)&&k-i<0)||(!isNaN(j)&&k-j>=0)||(!isNaN(l)&&k-l<=0)){return m.message}return true},date:function(k,j){j=g(j,null);if(j==null){return true}var l=function(n){var m=n;if(m=Date.parse(n)){return new Date(m)}m=n;if(/^[0-9\-\/\ :]*$/.test(m)){m=m.replace(/\-/g,"/");if(m=new Date(m)){return m}}return NaN};var j=l(j);if(!j||"Invalid Date"==j){return k.message}var i=l(k.min);var h=l(k.max);if(!isNaN(i)&&j.getTime()-i.getTime()<0){return k.message}if(!isNaN(h)&&j.getTime()-h.getTime()>0){return k.message}return true},email:function(i,h){i.expression="^[_A-Za-z0-9-]+(.[_A-Za-z0-9-]+)*@([A-Za-z0-9-])+(.[A-Za-z0-9-]+)*((.[A-Za-z0-9]{2,})|(.[A-Za-z0-9]{2,}.[A-Za-z0-9]{2,}))$";i.caseSensitive=false;return e.validators.regex(i,h)},regex:function(k,j){j=g(j,null);if(j==null||f(j).length==0){return true}d==k.caseSensitive&&(k.caseSensitive=true);d==k.trim&&(k.trim=true);k.trim==true&&(j=f(j));var i=k.caseSensitive?"i":d;try{if(!new RegExp(k.expression,i).test(j)){return k.message}}catch(h){}return true},url:function(i,h){return true},stringLength:function(i,h){h=g(h,null);if(h==null||h.length<=0){return true}d==i.minLength&&(i.minLength=-1);d==i.maxLength&&(i.maxLength=-1);d==i.trim&&(i.trim=true);i.trim==true&&(h=f(h));if((i.minLength>-1)&&(h.length-1)&&(h.length>i.minLength)){return i.message}}return true}}}();b.check=function(f,k){var i=[];var l=function(){for(var m in k[g]||{}){var p=k[g][m]||{};var o=e.validators[m];if(typeof o=="function"){var n=o(p,f[g],f);if(true!==n){return n}}else{console.warn("Validation function "+m+" not found.")}}return true};var h=function(m,n){if(typeof n=="undefined"){console.warn("need message field input "+m+" not found.")}return{field:m,message:n,value:f[m]}};for(var g in k||{}){var j=l(g);j!==true&&i.push(new h(g,j))}return new e.result(i)};b.reg=function(){};b.version="stable-1.0";rigel.validation=b})(window,document); \ No newline at end of file +var rigel=rigel||{};(function(c,a,d){var b={};var e={validators:{}};e.result=function(g){var f={result:!g.length,stacks:g};!f.result&&(f.field=g[0].field);!f.result&&(f.message=g[0].message);return f};e.validators=function(){function f(h){h==null&&(h=d);return String(h).replace(new RegExp("(^[\\s\\t\\xa0\\u3000]+)|([\\u3000\\xa0\\s\\t]+$)","g"),"")}function g(i,h){if(i===""||i===d||i===null){i=h}return i}return{required:function(i,h){h=g(h,null);return h==null?i.message:true},requiredstring:function(i,h){h=g(h,"");i.trim==true&&(h=f(h));return h.length==0?i.message:true},"int":function(k,j){j=g(j,null);if(j==null){return true}if(!/^\-?[0-9]+$/.test(j)){return k.message}else{j=parseInt(j)}var i=parseInt(k.min);var h=parseInt(k.max);if(!isNaN(i)&&j-i<0){return k.message}if(!isNaN(h)&&j-h>0){return k.message}return true},"long":function(){return this["int"].apply(this,[].slice.call(arguments))},"double":function(m,k){k=g(k,null);if(k==null){return true}if(!/^\-?[0-9]*\.?[0-9]+$/.test(k)){return m.message}else{k=parseFloat(k)}var h=parseFloat(m.maxInclusive);var i=parseFloat(m.minInclusive);var j=parseFloat(m.maxExclusive);var l=parseFloat(m.minExclusive);if((!isNaN(h)&&k-h>0)||(!isNaN(i)&&k-i<0)||(!isNaN(j)&&k-j>=0)||(!isNaN(l)&&k-l<=0)){return m.message}return true},date:function(k,j){j=g(j,null);if(j==null){return true}var l=function(n){var m=n;if(m=Date.parse(n)){return new Date(m)}m=n;if(/^[0-9\-\/\ :]*$/.test(m)){m=m.replace(/\-/g,"/");if(m=new Date(m)){return m}}return NaN};var j=l(j);if(!j||"Invalid Date"==j){return k.message}var i=l(k.min);var h=l(k.max);if(!isNaN(i)&&j.getTime()-i.getTime()<0){return k.message}if(!isNaN(h)&&j.getTime()-h.getTime()>0){return k.message}return true},email:function(i,h){i.expression="^[_A-Za-z0-9-]+(.[_A-Za-z0-9-]+)*@([A-Za-z0-9-])+(.[A-Za-z0-9-]+)*((.[A-Za-z0-9]{2,})|(.[A-Za-z0-9]{2,}.[A-Za-z0-9]{2,}))$";i.caseSensitive=false;return e.validators.regex(i,h)},regex:function(k,j){j=g(j,null);if(j==null||f(j).length==0){return true}d==k.caseSensitive&&(k.caseSensitive=true);d==k.trim&&(k.trim=true);k.trim==true&&(j=f(j));var i=k.caseSensitive?"i":d;try{if(!new RegExp(k.expression,i).test(j)){return k.message}}catch(h){}return true},url:function(i,h){return true},stringlength:function(i,h){h=g(h,null);if(h==null||h.length<=0){return true}d==i.minLength&&(i.minLength=-1);d==i.maxLength&&(i.maxLength=-1);d==i.trim&&(i.trim=true);i.trim==true&&(h=f(h));if((i.minLength>-1)&&(h.length-1)&&(h.length>i.minLength)){return i.message}}return true}}}();b.check=function(f,k){var i=[];var l=function(){for(var m in k[g]||{}){var p=k[g][m]||{};var o=e.validators[m];if(typeof o=="function"){var n=o(p,f[g],f);if(true!==n){return n}}else{console.warn("Validation function "+m+" not found.")}}return true};var h=function(m,n){if(typeof n=="undefined"){console.warn("need message field input "+m+" not found.")}return{field:m,message:n,value:f[m]}};for(var g in k||{}){var j=l(g);j!==true&&i.push(new h(g,j))}return new e.result(i)};b.reg=function(){};b.version="stable-1.0";rigel.validation=b})(window,document); \ No newline at end of file diff --git a/tests/tests.js b/tests/tests.js index 292c3b1..c8e7261 100644 --- a/tests/tests.js +++ b/tests/tests.js @@ -114,13 +114,13 @@ test("validation email.", function(){ test("validation of stringlength, case", function(){ var rules = { accName: { - stringLength : {maxLength: 10, minLength: 5,message: "accNameError" } + stringlength : {maxLength: 10, minLength: 5,message: "accNameError" } }, sendMsg: { - stringLength : {maxLength: 10, minLength: 5, message: "sendMsg", trim: true} + stringlength : {maxLength: 10, minLength: 5, message: "sendMsg", trim: true} }, sendLength: { - stringLength : {maxLength: 10, minLength: 5, message : "sendLength"} + stringlength : {maxLength: 10, minLength: 5, message : "sendLength"} } };