evalidate
TypeScript icon, indicating that this package has built-in type declarations

1.0.5 • Public • Published

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

Dependents (1)

Package Sidebar

Install

npm i evalidate

Weekly Downloads

58

Version

1.0.5

License

ISC

Unpacked Size

638 kB

Total Files

92

Last publish

Collaborators

  • aderabiruk