Select parameters from an object (such as express's req.query
) and return any errors based on a specification defined.
npm install selective
Append one of the following to each option to specify a requirement for that parameter:
*
Represents an optional parameter.
#
Represents a group (if one field from a group is in req.query
then require the entire group).
var selective = require('selective');
var params = {
name: 'bradley',
email: 'bradley.griffiths@gmail.com',
random: 'random param'
}
selective.select(params, ['#name', '#email', '#password', '*location', 'phone'], function(err, selected){
if(err) {
console.log(err)
}
else {
console.log(selected);
}
});
Will output:
[ { field: 'password', type: 'Missing Field' },
{ field: 'phone', type: 'Missing Field' },
{ field: 'random', type: 'Invalid Field' } ]
Run the tests make test