Validates url, body, and query parameters for Express
Please ★ this repo if you found it useful ★ ★ ★
- Check body params
- Check query params
- Check url params
$ npm install --save check-params
var checkParams = require('check-params');
module.exports = {
exampleController: function(req, res) {
checkParams(req, {
queryParams: [
'hello',
'foo'
]
}).then(function() {
res.json({
message: 'Yaaaay, I have everything I need!!!'
});
}).catch(function(err) {
console.warn(err);
res.status(err.code).json({
message: err.message
});
});
}
};
Now, if I enter the following url . . .
http://myserver.com/example?hello=world&foo=bar
. . . I get the following response.
{
"message": "Yaaaay, I have everything I need!!!"
}
However, if I enter the following url, without the query params . . .
http://myserver.com/example
. . . I get the following response.
{
"message": "You are missing the query params 'hello', and 'foo'."
}
If you do not put in the required parameters, you will get a response asking for them.
The checkParams function recieves three properties. The last property, options, is optional.
checkParams(
req, // the request object
{
urlParams: [], // an array of required url params
bodyParams: [], // an array of required body params
queryParams: [] // an array of required query params
},
{ // the options property is not required
distictChar: '\'', // the default character to distinguish missing parameters in the error message
oxfordComma: true // whether to use oxford comma's when separating lists
}
);
The checkParams function always returns as a promise. It is also good to note, that the err response has a property called code. This contains the suggested response status code.
Submit an issue
A ridiculous amount of coffee was consumed in the process of building this project.
Add some fuel if you'd like to keep me going!
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -m 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
Jam Risser © 2017
- Jam Risser - Author
0.3.0 (2017-06-28)
- Removed message response
0.1.0 (2016-10-25)
- Beta release