validator.js 1.76 KB
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);
            }
        }

        
    }

    if(err.length > 0){
        log.log(JSON.stringify(err))
    }
    
    // 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; 
}