0.0.6 • Published 10 years ago
params-validate v0.0.6
##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