object-rule-validator

1.0.3 • Public • Published

object-rule-validator npm

object rule validation

Installation

NPM

npm install --save object-rule-validator

yarn

yarn add object-rule-validator

Usage

Create variants. You can give variants objects or strings.

import objectValidator from 'object-rule-validator';

//dynamic values
const values = {
    name: 'ahmet',
    age : 18,
    isStudent: false
}

const rules = {
    name: {
        value: '',
        condition: '!=='
    },
    age: {
        value: 18,
        condition: '>=' 
    },
    isStudent: {
        value: true,
        condition: '==='
    }
}
 
objectValidator(values, rules)

//output
{
    name: true,
    age: true,
    isStudent: false
}

custom result

const data = {
    age: 10
}

const rules = {
    age: {
        value: 18,
        condition: '>='
        trueResult: 'Age is valid'
        falseResult: 'age must be 18 or older'  
    }
} 

//output (false)
{
    age: 'age must be 18 or older'  
}

Multi Condition

If you want to make multi condition, you have to pass the rule as an array. What you need to pay attention to here is that the rules are read from the top and work in the if - else logic. Also remember to pass trueResult or falseResult. otherwise you will get true or false for all values.


const rules = {
    number: [
        { value: 100, condition: '>=', trueResult: 'Greater than 100' } // 100 or greater than 100
        { value: 50, condition: '>=', trueResult: 'Greater than 50' } // 50 or greater than 50
        { value: 10, condition: '<', trueResult: 'Less than 10' } // Less than 10
    ]
} 

const data = { number: 120 }
//output
{ number: 'Greater than 100' }

const data = { number: 75 }
//output
{ number: 'Greater than 50' }

const data = { number: 5 }
//output
{ number: 'Less than 10' }

const data = { number: 5 }
//output (did not meet any condition)
{ number: false }

Regex

const data = {
    text: 'hello world'
}

const rules = {
    text: {
        value: true,
        regex: /hello/
    }
} 

//output
{
    text: true
}

TODO

  • More Test
  • Regex validation

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i object-rule-validator

Weekly Downloads

0

Version

1.0.3

License

MIT

Unpacked Size

7.3 kB

Total Files

5

Last publish

Collaborators

  • ahmetkuslular