1.0.6 • Published 10 months ago

evalidate v1.0.6

Weekly downloads
22
License
ISC
Repository
github
Last release
10 months ago

evalidate

CircleCI Known Vulnerabilities codecov codebeat badge HitCount npm version Maintenance Contributions welcome Gitter MIT license

A fast and easy to use Object Schema Validator

Index

Install

npm install --save evalidate

Usage

Importing

// Using require()
const evalidate = require("evalidate");

// Using ES6 import
import evalidate from "evalidate"

Defining a Schema

let schema = new evalidate.schema({
    name: evalidate.string(),
    email: evalidate.string().required().email(),
    age: evalidate.number().min(18).max(150),
    status: evalidate.string().required().in(["Active", "Deacive"]),
    address: evalidate.object({
        city: evalidate.string(),
        country: evalidate.string().required(),
    }),
    birthday: evalidate.date().required().before(new Date())
});

Custom Error Message

let schema = new evalidate.schema({
    email: evalidate.string().required("email is required!").email("Please enter a valid email address!"),
    age: evalidate.number().min(18, "Too young!").max(150, "Too old!"),
});

Validating Data

let result = schema.validate({
    name: "xxxx-xxxx",
    email: "xxxx@gmail.com",
    age: 18,
    status: "Active",
    address: {
        city: "xxxx",
        country: "xxxx"
    },
    birthday: "2019-01-01"
});

if (!result.isValid) {
    console.log(result.errors);
}

Validators

Array: evalidate.array()

  • contains(value, message)

    • must contain value
    • (Optional) Custom error message
  • equals(value, message)

    • must have the same content as value
    • value must be an array
    • (Optional) Custom error message
  • required(message)

    • (Optional) Custom error message
  • size(value, message)

    • Checks the number of items in the array
    • (Optional) Custom error message

Boolean: evalidate.boolean()

  • equals(value, message)

    • must be the same as value
    • value must be boolean
    • (Optional) Custom error message
  • required(message)

    • (Optional) Custom error message

Date: evalidate.date()

  • after(value, message)

    • must be after value
    • value can be a date object, an integer value representing the number of milliseconds since January 1, 1970 or string value representing a date, specified in a format recognized by the Date.parse() method.
    • (Optional) Custom error message
  • before(value, message)

    • must be before value
    • value can be a date object, an integer value representing the number of milliseconds since January 1, 1970 or string value representing a date, specified in a format recognized by the Date.parse() method.
    • (Optional) Custom error message
  • equals(value, message)

    • must be the same as value
    • value can be a date object, an integer value representing the number of milliseconds since January 1, 1970 or string value representing a date, specified in a format recognized by the Date.parse() method.
    • (Optional) Custom error message
  • required(message)

    • (Optional) Custom error message

Number: evalidate.number()

  • equals(value, message)

    • must be the same as value
    • value must be a number
    • (Optional) Custom error message
  • integer(message)

    • must be an integer
    • (Optional) Custom error message
  • latitude(message)

    • must be a valid latitude (Between -90 and 90)
    • (Optional) Custom error message
  • longitude(message)

    • must be a valid longitude (Between -180 and 180)
    • (Optional) Custom error message
  • min(value, message)

    • must be greater than or equal to value
    • value must be a number
    • (Optional) Custom error message
  • max(value, message)

    • must be less than or equal to value
    • value must be a number
    • (Optional) Custom error message
  • required(message)

    • (Optional) Custom error message

String: evalidate.string()

  • alphanumeric(message)

    • must contain only alphanumeric characters
    • (Optional) Custom error message
  • credit_card(message)

    • must be a valid credit card number
    • (Optional) Custom error message
  • email(message)

    • must be a valid email address
    • (Optional) Custom error message
  • equals(value, message)

    • must be equalt to value
    • value must be a string
    • (Optional) Custom error message
  • fqdn(message)

    • must be a valid fully qualified domain name
    • (Optional) Custom error message
  • in(value, message)

    • must be in value
    • value must be an array
    • (Optional) Custom error message
  • isbn(message)

    • must be a valid ISBN
    • (Optional) Custom error message
  • maxlength(value, message)

    • number of characters in the input string must be less than or equal to value
    • value must be a number
    • (Optional) Custom error message
  • milength(value, message)

    • number of characters in the input string must be greater than or equal to value
    • value must be a number
    • (Optional) Custom error message
  • numeric(message)

    • must contain only numeric characters
    • (Optional) Custom error message
  • required(message)

    • (Optional) Custom error message
  • url(message)

    • must be a valid url
    • (Optional) Custom error message

License

MIT © aderabiruk