1
1
var Ajv = require ( 'ajv' ) ;
2
2
3
3
class Validator {
4
- constructor ( options ) {
5
- this . ajv = new Ajv ( options ) ;
6
- }
4
+ constructor ( ajvOptions ) {
5
+ this . ajv = new Ajv ( ajvOptions ) ;
6
+ this . validate = this . validate . bind ( this ) ;
7
+ }
7
8
/**
8
9
* Express middleware for validating requests
9
10
*
10
11
* @param {Object } options
11
12
* @returns
12
13
*/
13
- validate ( options ) {
14
- var self = this ;
15
- return function ( req , res , next ) {
16
- var validationErrors = { } ;
14
+ validate ( options ) {
15
+ var self = this ;
16
+ return function ( req , res , next ) {
17
+ var validationErrors = { } ;
17
18
18
- Object . keys ( options ) . forEach ( function ( requestProperty ) {
19
- let schema = options [ requestProperty ] ;
20
- let validateFunction = this . ajv . compile ( schema ) ;
19
+ Object . keys ( options ) . forEach ( function ( requestProperty ) {
20
+ let schema = options [ requestProperty ] ;
21
+ let validateFunction = this . ajv . compile ( schema ) ;
21
22
22
- var valid = validateFunction ( req [ requestProperty ] ) ;
23
+ let valid = validateFunction ( req [ requestProperty ] ) ;
23
24
24
- if ( ! valid ) {
25
- validationErrors [ requestProperty ] = validateFunction . errors ;
26
- }
27
- } , self ) ;
25
+ if ( ! valid ) {
26
+ validationErrors [ requestProperty ] = validateFunction . errors ;
27
+ }
28
+ } , self ) ;
28
29
29
- if ( Object . keys ( validationErrors ) . length != 0 ) {
30
- next ( new ValidationError ( validationErrors ) ) ;
31
- } else {
32
- next ( ) ;
33
- }
34
- } ;
35
- }
30
+ if ( Object . keys ( validationErrors ) . length != 0 ) {
31
+ next ( new ValidationError ( validationErrors ) ) ;
32
+ } else {
33
+ next ( ) ;
34
+ }
35
+ } ;
36
+ }
36
37
}
37
38
38
39
@@ -51,14 +52,14 @@ class ValidationError extends Error {
51
52
*
52
53
* @memberOf ValidationError
53
54
*/
54
- constructor ( validationErrors ) {
55
- super ( ) ;
56
- this . name = 'JsonSchemaValidationError' ;
57
- this . validationErrors = validationErrors ;
58
- }
55
+ constructor ( validationErrors ) {
56
+ super ( ) ;
57
+ this . name = 'JsonSchemaValidationError' ;
58
+ this . validationErrors = validationErrors ;
59
+ }
59
60
} ;
60
61
61
62
module . exports = {
62
- Validator,
63
- ValidationError
63
+ Validator,
64
+ ValidationError
64
65
} ;
0 commit comments