npm install koa-request-validatorkoa-request-validator
=============
Request validator for koa
bash
npm install koa-request-validator
`
Usage
`javascript
const Koa = require('koa')
const RequestValidator=require('koa-request-validator').RequestValidatorlet app = new Koa()
let rv = new RequestValidator()
rv.parameter('param').required()
.validate(val => !!val, 'error message 1') // synchronous validation rule
.validate(async (val, ctx) => {
return await ctx.someAsyncFunction(val)
}, 'error message 2') // async validation rule with async/await
.validate(val => Promise.resolve(val), 'error message 3') // async validation rule error with promise
app.use(rv.middleware(), async ctx =>{
// will respond with 422 and an error object automatically for a invalid request
// only valid request will reach here
})
``* Parameter
* [new Parameter(name, [location])](#new_Parameter_new)
* _instance_
* [.required([message])](#Parameter+required) ⇒ Parameter
* .optional() ⇒ Parameter
* .validate(validator, errorMessage) ⇒ Parameter
* .getErrorMessage(ctx) ⇒ String\|undefined
* _inner_
* ~validatorCallback ⇒ Boolean | Promise.<Boolean>
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| name | String | | Name of the parameter. Can use dotted names. |
| [location] | String | body | Location of the parameter |
Kind: instance method of Parameter
Returns: Parameter - - Returns the parameter object itself so that the it can be chained
| Param | Type | Description |
| --- | --- | --- |
| [message] | String | Error message if this parameter is missing in the request |
Kind: instance method of Parameter
Returns: Parameter - - Returns the parameter object itself so that the it can be chained
Kind: instance method of Parameter
Returns: Parameter - - Returns the parameter object itself so that the it can be chained
| Param | Type | Description |
| --- | --- | --- |
| validator | validatorCallback | A function to validate the parameter |
| errorMessage | String | The error message to show if invalid. |
Kind: instance method of Parameter
Returns: String\|undefined - - Returns an error message if invalid or undefined if valid.
| Param | Type | Description |
| --- | --- | --- |
| ctx | Context | The koa context object |
Kind: inner typedef of Parameter
Returns: Boolean | Promise.<Boolean> - - True for valid, false for invalid.
| Param | Type | Description |
| --- | --- | --- |
| val | \* | The value to validate |
| ctx | Context | The koa context object
* RequestValidator
* new RequestValidator()
* [.parameter(name, [location])](#RequestValidator+parameter) ⇒ Parameter
* .getError(ctx) ⇒ Promise.<Object>
* .middleware() ⇒ function
Kind: instance method of RequestValidator
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| name | String | | Name of the parameter |
| [location] | String | body | Location of the parameter |
Kind: instance method of RequestValidator
Returns: Object - - The error object
| Param | Type | Description |
| --- | --- | --- |
| ctx | Context | The koa context object |
Kind: instance method of RequestValidator