Giter Club home page Giter Club logo

valid8's Introduction

Note: Not maintained

valid8

NPM version Travis-CI

valid8 is a Javascript data validator for use with user input from web forms, APIs, etc.

Requirements

Installation

npm install valid8

Run Tests

npm test

Usage

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']
  },
  country: {
    type: 'string',
    required: true
  }
});

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',
    country: 'missing'
  }

*/

Constructor

  • new Valid8([testType], [fields])
    • testType - either strict or form (see below)
    • fields - An object containing the field definitions

Instance Methods

  • isFieldValid(name, value)

    • name - Name of the field to be validated
    • value - Value to be validated
    • Returns true 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 validated
    • fieldWhiteList - An array of field names to be validated. For when you only want to validate a subset of the fields
    • Returns true if all values are valid
    • Returns an object containing the name of each invalid field and the corresponding error response (see below)

Constants

Test Types

  • 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

Field Types

  • Valid8.fieldTypes.string
  • Valid8.fieldTypes.emailString
  • Valid8.fieldTypes.dateString
  • Valid8.fieldTypes.int
  • Valid8.fieldTypes.decimal
  • Valid8.fieldTypes.enum

Error Responses

  • Valid8.errors.missing
  • Valid8.errors.long
  • Valid8.errors.short
  • Valid8.errors.large
  • Valid8.errors.small
  • Valid8.errors.format
  • Valid8.errors.dataType
  • Valid8.errors.option

valid8's People

Contributors

aiham avatar mortonfox avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.