diff --git a/lib/mongoose-validate.js b/lib/mongoose-validate.js index 7c5ca7b..747294b 100644 --- a/lib/mongoose-validate.js +++ b/lib/mongoose-validate.js @@ -6,14 +6,14 @@ * Module Dependencies */ -var check = require('validator').check, +var validator = require('validator'), validate = {}; /** * Library version. */ -validate.version = '0.0.5'; +validate.version = '0.0.6'; /** * .email @@ -23,12 +23,7 @@ validate.version = '0.0.5'; * @api public */ validate.email = function (value) { - try { - check(value).isEmail(); - } catch(err) { - return false; - } - return true; + return 'string' === typeof value && validator.isEmail(value); }; /** @@ -54,12 +49,7 @@ validate.email = function (value) { * @api public */ validate.alpha = function (value) { - try { - check(value).isAlpha(); - } catch(err) { - return false; - } - return true; + return validator.isAlpha(value); }; /** @@ -70,12 +60,7 @@ validate.alpha = function (value) { * @api public */ validate.alphanumeric = function (value) { - try { - check(value).isAlphanumeric(); - } catch(err) { - return false; - } - return true; + return validator.isAlphanumeric(value); }; /** @@ -86,12 +71,7 @@ validate.alphanumeric = function (value) { * @api public */ validate.numeric = function (value) { - try { - check(value).isNumeric(); - } catch(err) { - return false; - } - return true; + return validator.isNumeric(value); }; /** @@ -102,12 +82,7 @@ validate.numeric = function (value) { * @api public */ validate.int = function (value) { - try { - check(value).isInt(); - } catch(err) { - return false; - } - return true; + return validator.isInt(value); }; /** @@ -121,12 +96,8 @@ validate.int = function (value) { * @api public */ validate.postalCode = function (value) { - try { - check(value).len(3, 10).regex(/^[a-zA-Z0-9]+[ -]{0,1}[a-zA-Z0-9]+$/); - } catch(err) { - return false; - } - return true; + var reg = /^[a-zA-Z0-9]+[ -]{0,1}[a-zA-Z0-9]+$/; + return validator.isLength(value, 3, 10) && reg.test(value); }; /** @@ -137,12 +108,7 @@ validate.postalCode = function (value) { * @api public */ validate.permalink = function (value) { - try { - check(value).regex(/^[a-z0-9\-]+$/); - } catch(err) { - return false; - } - return true; + return /^[a-z0-9\-]+$/.test(value); }; diff --git a/package.json b/package.json index 054c9cc..53f58c3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mongoose-validate", - "version": "0.0.5", + "version": "0.0.6", "description": "Additional Validation functions for your mongoose schema.", "homepage": "https://github.com/RGBboy/mongoose-validate", "keywords": ["mongoose", "mongodb", "validation", "security"], @@ -11,18 +11,18 @@ }, "main": "index", "engines": { - "node": "0.8.x" + "node": "0.10.x" }, "dependencies": { - "validator": "0.4.x" + "validator": "3.40.x" }, "devDependencies": { - "mocha": "1.5.x", - "should": "1.2.x" + "mocha": "2.2.x", + "should": "7.0.x" }, "scripts" : { "test" : "make test", "unit" : "make unit", "spec" : "make spec" } -} \ No newline at end of file +} diff --git a/test/mongoose-validate.test.js b/test/mongoose-validate.test.js index 4f60f23..3039cbf 100644 --- a/test/mongoose-validate.test.js +++ b/test/mongoose-validate.test.js @@ -19,19 +19,19 @@ describe('Validate', function () { describe('.email', function () { it('should return true for valid value', function (done) { - validate.email('test@test.com').should.be.true; + validate.email('test@test.com').should.be.true(); done(); }); it('should return false for an invalid value', function (done) { - validate.email('testtest.com').should.be.false; - validate.email('test@test.').should.be.false; - validate.email('test@test').should.be.false; - validate.email('test@.com').should.be.false; - validate.email('test.com').should.be.false; - validate.email('test').should.be.false; - validate.email(1).should.be.false; - validate.email(['test@test.com']).should.be.false; + validate.email('testtest.com').should.be.false(); + validate.email('test@test.').should.be.false(); + validate.email('test@test').should.be.false(); + validate.email('test@.com').should.be.false(); + validate.email('test.com').should.be.false(); + validate.email('test').should.be.false(); + validate.email(1).should.be.false(); + validate.email(['test@test.com']).should.be.false(); done(); }); @@ -40,14 +40,14 @@ describe('Validate', function () { describe('alpha', function () { it('should return true for valid value', function (done) { - validate.alpha('a').should.be.true; + validate.alpha('a').should.be.true(); done(); }); it('should return false for invalid value', function (done) { - validate.alpha(' a ').should.be.false; - validate.alpha('1').should.be.false; - validate.alpha('.').should.be.false; + validate.alpha(' a ').should.be.false(); + validate.alpha('1').should.be.false(); + validate.alpha('.').should.be.false(); done(); }); @@ -56,15 +56,15 @@ describe('Validate', function () { describe('alphanumeric', function () { it('should return true for valid value', function (done) { - validate.alphanumeric('a').should.be.true; - validate.alphanumeric('1').should.be.true; - validate.alphanumeric(1).should.be.true; + validate.alphanumeric('a').should.be.true(); + validate.alphanumeric('1').should.be.true(); + validate.alphanumeric(1).should.be.true(); done(); }); it('should return false for invalid value', function (done) { - validate.alphanumeric(' ').should.be.false; - validate.alphanumeric('.').should.be.false; + validate.alphanumeric(' ').should.be.false(); + validate.alphanumeric('.').should.be.false(); done(); }); @@ -73,15 +73,15 @@ describe('Validate', function () { describe('.numeric', function () { it('should return true for valid value', function (done) { - validate.numeric('1').should.be.true; - validate.numeric(1).should.be.true; + validate.numeric('1').should.be.true(); + validate.numeric(1).should.be.true(); done(); }); it('should return false for invalid value', function (done) { - validate.numeric('a').should.be.false; - validate.numeric(' ').should.be.false; - validate.numeric('.').should.be.false; + validate.numeric('a').should.be.false(); + validate.numeric(' ').should.be.false(); + validate.numeric('.').should.be.false(); done(); }); @@ -90,25 +90,25 @@ describe('Validate', function () { describe('.int', function () { it('should return true for valid value', function (done) { - validate.int('1').should.be.true; - validate.int(1).should.be.true; - validate.int('0').should.be.true; - validate.int(0).should.be.true; - validate.int('-1').should.be.true; - validate.int(-1).should.be.true; + validate.int('1').should.be.true(); + validate.int(1).should.be.true(); + validate.int('0').should.be.true(); + validate.int(0).should.be.true(); + validate.int('-1').should.be.true(); + validate.int(-1).should.be.true(); done(); }); it('should return false for invalid value', function (done) { - validate.int('a').should.be.false; - validate.int(' ').should.be.false; - validate.int('.').should.be.false; - validate.int('1.5').should.be.false; - validate.int(1.5).should.be.false; - validate.int('0.5').should.be.false; - validate.int(0.5).should.be.false; - validate.int('-1.5').should.be.false; - validate.int(-1.5).should.be.false; + validate.int('a').should.be.false(); + validate.int(' ').should.be.false(); + validate.int('.').should.be.false(); + validate.int('1.5').should.be.false(); + validate.int(1.5).should.be.false(); + validate.int('0.5').should.be.false(); + validate.int(0.5).should.be.false(); + validate.int('-1.5').should.be.false(); + validate.int(-1.5).should.be.false(); done(); }); @@ -118,31 +118,31 @@ describe('Validate', function () { it('should return true for valid value', function (done) { // longest (10 characters) - validate.postalCode('a1a1a1a1a1').should.be.true; + validate.postalCode('a1a1a1a1a1').should.be.true(); // shortest (3 characters) - validate.postalCode('a1a').should.be.true; + validate.postalCode('a1a').should.be.true(); // all alpha - validate.postalCode('aaaaaa').should.be.true; + validate.postalCode('aaaaaa').should.be.true(); // all numeric - validate.postalCode('111111').should.be.true; + validate.postalCode('111111').should.be.true(); // contains single space - validate.postalCode('a1a 1a1').should.be.true; + validate.postalCode('a1a 1a1').should.be.true(); // contains single hyphen - validate.postalCode('a1a-1a1').should.be.true; + validate.postalCode('a1a-1a1').should.be.true(); done(); }); it('should return false for invalid value', function (done) { // too long - validate.postalCode('a1a1a1a1a1a').should.be.false; + validate.postalCode('a1a1a1a1a1a').should.be.false(); // too short - validate.postalCode('a1').should.be.false; + validate.postalCode('a1').should.be.false(); // too many spaces and hyphens - validate.postalCode('a1a 1a1').should.be.false; - validate.postalCode('a1a--1a1').should.be.false; - validate.postalCode('a1a -1a1').should.be.false; + validate.postalCode('a1a 1a1').should.be.false(); + validate.postalCode('a1a--1a1').should.be.false(); + validate.postalCode('a1a -1a1').should.be.false(); // invalid character - validate.postalCode('a1a.1a1').should.be.false; + validate.postalCode('a1a.1a1').should.be.false(); done(); }); @@ -151,22 +151,22 @@ describe('Validate', function () { describe('.permalink', function () { it('should return true for valid value', function (done) { - validate.permalink('a').should.be.true; - validate.permalink('1').should.be.true; - validate.permalink(1).should.be.true; - validate.permalink('-').should.be.true; - validate.permalink('a1-a1').should.be.true; + validate.permalink('a').should.be.true(); + validate.permalink('1').should.be.true(); + validate.permalink(1).should.be.true(); + validate.permalink('-').should.be.true(); + validate.permalink('a1-a1').should.be.true(); done(); }); it('should return false for invalid value', function (done) { - validate.permalink('').should.be.false; - validate.permalink(' ').should.be.false; - validate.permalink('A').should.be.false; - validate.permalink('/').should.be.false; + validate.permalink('').should.be.false(); + validate.permalink(' ').should.be.false(); + validate.permalink('A').should.be.false(); + validate.permalink('/').should.be.false(); done(); }); }); -}); \ No newline at end of file +});