Code Monkey home page Code Monkey logo

dynamic-validator's Introduction

Dynamic Validator

dynamic-validator is an npm library for dealing with validation dynamically.

Rules

  • type: array, object, boolean, string, number, integer, long, unsignedInt, unsignedShort, unsignedLong, safeInteger, decimal, float, double.
  • enum
  • has (object)
  • range (number)
  • text (string)
  • maxLength (string and array)
  • minLength (string and array)
  • length (string and array)
  • in (array)
  • dynamic (dynamic fields)
  • required

Installation

npm i --save dynamic-validator

Usage

const { config } = require('./lib/validator')

const body = {
	name: "abc",
	age: 100,
	status: false,
	address: {
		city: "Karachi",
		country: "Pakistan",
		street: "DHA",
		extra: {
			phone: "123456789",
		}
	},
	hobbies: ["coding", "reading", "sleeping"],
	ur: [
		{
			name: "abc",
		},
		{
			name: "abc",
		}
	]
}

let errors = config(body, {
	name: "type:string|enum:abc,abc1,abc2|length:3|required:true",
	age: "type:number|range:0,100",
	status: "type:boolean",
	["address|type:object|has:city,country,street"]: {
		city: "type:string",
		country: "type:string",
		street: "type:string",
		["extra|type:object|has:phone"]: {
			phone: "type:string|maxLength:10|minLength:4"
		}
	},
	["hobbies|type:array|maxLength:6|minLength:2|in:coding,reading,sleeping,eating"]: [],
	["[en,ur,ko]|type:array"]: [{
		name: "type:string|text:abc"
	}],
})

Contributing

Pull requests are welcome.

dynamic-validator's People

Contributors

rizwantnc avatar

Stargazers

 avatar

Watchers

 avatar  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.