validator.js
1.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
var log = require('../helper/log.js');
module.exports = function (req,list){
// [true,"queryStr","commandId","int"]
var err = [];
var row = [];
var data;
for(var i=0;i<list.length;i++)
{
row = list[i];
data = getData(req,list[i])
log.log("#Validate parameter {"+row[2]+"}");
// console.log(row[2]+" : "+data);
if(typeof data === 'undefined')
{
if(row[0])
{
var errDes = {
Param : row[2],
Reason : "Missing"
}
err.push(errDes);
}
}else
{
if(!checkReg(row[3],data))
{
var errDes = {
Param : row[2],
Reason : "Invalid"
}
err.push(errDes);
}
}
}
// console.log(err);
return err;
};
function getData(req,row)
{
var data;
switch(row[1]) {
case "queryStr":
data = req.query[row[2]];
break;
case "url":
data = req.params[row[2]];
break;
case "body":
var arrayStr = row[2].split('.');
data = req.body[arrayStr[0]];
if(arrayStr.length > 1)
{
for(var i=1;i<arrayStr.length;i++)
{
if(data)
data = data[arrayStr[i]];
}
}
break;
}
return data;
}
function checkReg(reg,value)
{
return true;
}