Express JS-导出验证

时间:2018-10-07 09:22:09

标签: express post express-validator

我在这里做错什么了吗?

我创建了一条路线: server.js

// ... imports

var route = require('./routes/index.js');

app.use('/', route);

// rest of the code ...

我的route.js接受/ sendcontact上的帖子

// ..imports ..

router.post('/sendcontact', 
  (req, res) => {  
    if(contactFormValidator.validate(req)) res.send("valid")
    else res.send("not valid")
});

我的contactFormValidator.js

//express validators
const { body, validationResult } = require('express-validator/check');
const { sanitizeBody } = require('express-validator/filter');

exports.validate = function (req){
    body('name', 'Empty name').isLength({ min: 5 });

    let errors = validationResult(req);
    if (!errors.isEmpty()) {
        return false;
    }else{
        return true;
    }
};

我在这里的目的是要在验证时之间有一个明确的区分,以便如果我有很多字段,我可以拥有一个包含所有必要验证的文件。

但是,当我提交错误的表格时,它始终会返回有效值。

我的表单就是这样(pug文件)

form(action="/sendcontact", method="post")
            .row
              .input-field.col.s12.m6.l6
                input(type="text", name="name", placeholder="Prénoms et Nom")
              .input-field.col.s12.m6.l6
                input(type="email", name="email", placeholder="Adresse email")
              .input-field.col.s12.m12.l12
                textarea(name="message", rows="10", placeholder="Votre Message...").materialize-textarea#contactmessage
              .input-field.col.s12.m12.l12
                input(type="submit", value="ENVOYER").btn.waves-effect.waves-light.btn-red.btn-large#sendcontact

0 个答案:

没有答案