0.0.6 • Published 10 years ago

params-validate v0.0.6

Weekly downloads
2
License
MIT
Repository
github
Last release
10 years ago

##Description## Validate parameters

##Installation##

npm install params-validate

or in the browser:

<script src="https://raw.github.com/infrared/params-validate-js/development/lib/index.js"></script>

##Usage##

var paramsValidate = require('params-validate');

var errors = paramsValidate(data,test);
if (errors) { ... }

//or with a callback:

paramsValidate(data,test,function(errors,res) {
    if (errors) {
        console.log(errors);
    } else {
        //res is true
        console.log('passed!');
    }
});

##Examples##

    var data = {
      username: "foo",
      firstname: "Foo",
      age: 89
    };

    var test = {
        username: "string",
        firstname: "string",
        lastname: "string",
        age: "number"
    };
    
    paramsValidate(data,test)
    
    Returns:
    [ { lastname: 'required' } ]

string - test if param is a string

    var data = {
        foo: "bar"
    }
    var test = {
        foo: "string"
    }
    //passes

number - test if param is a number

    var data = {
        foo: 5
    }
    var test = {
        foo: "number"
    }
    //passes

either - test if param is either string or number

    var data = {
        foo: "oh hi"
    }
    var test = {
        foo: "either"
    }
    //passes

object - test if param is a key/value object

    var data = {
        foo: { bar: "baz"}
    }
    var test = {
        foo: "object"
    }
    //passes

array - test if param is an array

    var data = {
        foo: [ "bar", "baz" ]
    }
    var test = {
        foo: "array"
    }
    //passes

price - test if param is a price format

    var data = {
        cost: "5.00"
    }
    var test = {
        cost : "price"
    }
    //passes

function - supply a function to validate the data

To pass the test with a function, the function must return true. To fail the test, just return a string

    // passes
    var test = {
        lastname: function(x) { return true }
    }
    //fails
    var test { 
        lastname: function(x) { return "foo" }
    }

Constituents

Optional constituents can be added for granular validation.

    var test = {
        username: {
            regex: "\\w+"
        },
        lastname: "string",
        age: "number",
        role: {
            isin: ["user", "admin"]
        }
    }

Currently supported constituents

  • regex - test data against a supplied regex
  • isin - test if given value is in an array

License

MIT

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago