快速中间件验证
express middleware validation
我正在 express 4 路由中执行一些验证。验证正在使用中并在 post 上执行;我不明白如何让 post 在验证失败时不触发。
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
}
}
没有办法不触发 post,因为它是服务器收到的信号,无法撤消。但是你可以防止坏的 POST 在你的系统上做任何事情。
以下是我们在 post 调用期间处理验证的方式:
function runValidationFunction(req,res){
//do your validation here
}
router.post('/',runValidationFunction,parseJson, function(req,res) {
// insert row into database
}
这样您的验证函数在您的逻辑之前得到 运行。希望有帮助
我正在 express 4 路由中执行一些验证。验证正在使用中并在 post 上执行;我不明白如何让 post 在验证失败时不触发。
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
}
}
没有办法不触发 post,因为它是服务器收到的信号,无法撤消。但是你可以防止坏的 POST 在你的系统上做任何事情。
以下是我们在 post 调用期间处理验证的方式:
function runValidationFunction(req,res){
//do your validation here
}
router.post('/',runValidationFunction,parseJson, function(req,res) {
// insert row into database
}
这样您的验证函数在您的逻辑之前得到 运行。希望有帮助