1 |
|
2 | let Validator = require("fastest-validator");
|
3 | let v = new Validator({
|
4 | messages: {
|
5 |
|
6 | errorMessage: "The '{field}' field must be an even number! Actual: {actual}"
|
7 | }
|
8 | });
|
9 |
|
10 | validateRequest = (schema,dto)=> {
|
11 | const log = require('../index').Logger;
|
12 | var check = v.compile(schema);
|
13 | let validationResponse = check(dto)
|
14 | log.debug('dto validated ' + JSON.stringify(validationResponse));
|
15 | if (validationResponse.length>0 ) {
|
16 | let response=createErrorResponse(validationResponse);
|
17 | log.error('data validation failed' + response);
|
18 | return response
|
19 | } else {
|
20 | return null;
|
21 | }
|
22 | }
|
23 |
|
24 | function createErrorResponse (validationResponse) {
|
25 | var errors = [];
|
26 | var error;
|
27 | const log = require('../index').Logger;
|
28 | validationResponse.forEach(function (errorRow) {
|
29 | error = {
|
30 | "message": errorRow.message,
|
31 | "field": errorRow.field,
|
32 | "description": ""
|
33 | }
|
34 | errors.push(error);
|
35 | });
|
36 | log.debug('errors::: ' + JSON.stringify(errors));
|
37 | return errors;
|
38 |
|
39 | }
|
40 |
|
41 | module.exports = {
|
42 | generateErrorResponse : createErrorResponse,
|
43 | validateRequest : validateRequest
|
44 | };
|
45 |
|
\ | No newline at end of file |