表达中间件验证

时间:2015-07-29 23:26:40

标签: express middleware

我正在快递4路线中进行一些验证。验证在使用中并在帖子上执行;如果验证失败,我不明白如何让帖子不被触发。

exports.setRoutes = function setRoutes(router) {
    var bodyParser = require("body-parser");
    var parseJson = bodyParser.json();

    router.use(routeLocation, parseJson, function (req, res, next) {
        if (req.method === 'POST') {
            var err = // do some validation;
            IF ERR EXISTS, DON'T FIRE POST BELOW
         }
    }

    router.post('/',parseJson, function(req,res) {
      // insert row into database
    }
}

1 个答案:

答案 0 :(得分:1)

没有办法不发布帖子,因为它是服务器收到的信号,无法撤消。但是,您可以防止错误的POST在您的系统上执行任何操作。

以下是我们在发布电话会议期间处理验证的方式:

function runValidationFunction(req,res){
    //do your validation here
}

 router.post('/',runValidationFunction,parseJson, function(req,res) {
      // insert row into database
 }

这样你的验证函数就会在你的逻辑之前运行。希望有所帮助