2.0.6 • Published 10 years ago

validator-json v2.0.6

Weekly downloads
132
License
MIT
Repository
github
Last release
10 years ago

validator-json

npm version Build Status Coverage Status npm downloads

All spirits come from validate

This module just fixed two issues of validate:

  • array(simple or nested) validation
  • validate for number 0, boolean false and string '' (you can see this issue)

now only validate for:

  • type
  • exist

Before you start

  • node: 4.1.1

validator-json@2.0 only support node@4.0+, if you use node@0.12-, you can use validator-json@1.0

Install

npm install validator-json

Usage

let Validator = require('validator-json');
let validator = new Validator(object, schema);
let errors = validator.validate();

Example

'use strict';

let Validator = require('..');

let schema = {
	name: {
		first_name: { type: 'string', required: true },
		last_name: { type: 'string', required: true }
	},
	nickname: { type: 'string', required: false },
	age: { type: 'number', required: true },
	married: { type: 'boolean', required: true },
	hobbies: [{ type: 'string', required: true }],
	games_loved: [{
			name: { type: 'string', required: true },
			years_played: { type: 'number', required: true }
		}]
}

let object4pass = {
	name: {first_name: 'Xv', last_name: 'kivi'},
	nickname: 'hammer',
	age: 23,
	married: false,
	hobbies: ['computer games', 'basketball'],
	games_loved: [
		{
			name: 'dota',
			years_played: 4
		},
		{
			name: 'lol',
			years_played: 1
		}
	]
}

let object4npass = {
	name: 'hello',
	nickname: 999,
	age: '23',
	married: 'false',
	hobbies: ['computer games', 999],
	games_loved: [
		{
			name: 'dota'
		},
		{
			years_played: 1
		}
	]
}

let passValidator = new Validator(object4pass, schema, 'object4npass');
let passErrors = passValidator.validate();

let npassValidator = new Validator(object4npass, schema, 'object4npass');
let npassError = npassValidator.validate();

console.log('object for pass: \n', passErrors, '\n');
console.log('object for not pass: \n', npassError, '\n');

if you want more example, you can see this

Note

Schema only accept 2 property:

  • type
  • required

Test

npm test

Licence

MIT

2.0.6

10 years ago

2.0.5

10 years ago

2.0.4

10 years ago

2.0.3

10 years ago

2.0.2

10 years ago

2.0.1

10 years ago

2.0.0

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago