README
express-verifier
body, params, query verifier middleware for express framework (nodejs)
all rules see https://www.npmjs.com/package/node-verifier
schema declaration see https://www.npmjs.com/package/node-verifier-schema
var express = require('express');
var bodyParser = require('body-parser');
var verifier = require('express-verifier');
var app = express();
var verify = verifier({
cwd: __dirname + '/specs/'
});
app.get('/', verify.query(function (required, optional) {
required('sortby', ['type string', {'contains': ['key', 'value']}]);
optional('orderby', ['type string', {'contains': ['ASC', 'DESC']}]);
}), function (req, res) {
res.send({
done: {
body: req.body,
query: req.query,
params: req.params,
headers: req.headers
}
});
});
app.post('/(:id)/', verify('get-user.yml'), resource);
define verifier by yaml get-user.yml:
---
schema:
body:
first_name:
- type string
- min_length 3
- max_length 20
last_name:
- type string
- min_length 3
- max_length 20
middle_name?:
- type string
- min_length 3
- max_length 20
params:
id:
- type: string
- format: ^\d+$
query:
orderby?:
- type: string
- contains:
- ASC
- DESC
verifierConstructor
var verifierConstructor = require('express-verifier');
var verifier = verifierConstructor(options);
options
options.cwd
String
- root path of yaml specs
options.preparePath( path )
function
- prepare yaml-loader path. must return path string
verifier
Set by schema. Schema must have fields "query", "params", "body", "headers"
var verifierConstructor = require('express-verifier');
var verifier = verifierConstructor();
var Schema = verifierConstructor.Schema;
var schema = Schema().object(function () {
this.field('params').object(function () {
this.required('id', [ 'format ^\\d+