Javascript data validator for use with user input from web forms, APIs, etc.
npm install valid8
valid8 is a Javascript data validator for use with user input from web forms, APIs, etc.
- [Node.js][]
- [mocha][] (To run tests)
[Node.js]: http://nodejs.org/
[mocha]: http://visionmedia.github.io/mocha/
``sh`
npm install valid8
`sh`
mocha
`js
var Valid8 = require('valid8');
var valid8 = new Valid8('form', {
name: 'string',
username: {
type: 'string',
max: 20,
required: true
},
email: 'emailString',
age: {
type: 'int',
min: 18,
required: true
},
gpa: {
type: 'decimal',
},
gender: {
type: 'enum',
options: ['male', 'female']
}
});
var result = valid8.areFieldsValid({
name: 'Aiham',
username: 'averylonglonglongusername',
email: 'invalid email',
age: 17,
gpa: '1.23',
gender: 'foobar'
});
/* result contains:
{
username: 'long',
email: 'format',
age: 'small',
gender: 'option'
}
*/
`
- new Valid8([testType], [fields])testType
- - either strict or form (see below)fields
- - An object containing the field definitions
- isFieldValid(name, value)name
- - Name of the field to be validatedvalue
- - Value to be validatedtrue
- Returns if the field is valid
- Returns an error response if invalid (see below)
- areFieldsValid(values, [fieldWhiteList])values
- - An object containing the values for each field to be validatedfieldWhiteList
- - An array of field names to be validated. For when you only want to validate a subset of the fieldstrue
- Returns if all values are valid
- Returns an object containing the name of each invalid field and the corresponding error response (see below)
- Valid8.testTypes.strict - Checks value and data type. (Default)Valid8.testTypes.form
- - Checks value even if data is provided in strings. Good for web forms
- Valid8.fieldTypes.stringValid8.fieldTypes.emailString
- Valid8.fieldTypes.dateString
- Valid8.fieldTypes.int
- Valid8.fieldTypes.decimal
- Valid8.fieldTypes.enum
-
- Valid8.errors.missingValid8.errors.long
- Valid8.errors.short
- Valid8.errors.large
- Valid8.errors.small
- Valid8.errors.format
- Valid8.errors.dataType
- Valid8.errors.option`
-