快递自定义验证

时间:2013-03-25 13:46:48

标签: node.js express validation

使用Express-form模块验证输入。具体看custom methods是否可以编写一个验证函数,其结果将取决于另一个字段。

或者更确切地说,我想要实现的是在下拉列表中选择某个值时需要的一个字段,但其他值不需要。

至于“你试过什么”评论。我没有,阅读文档,我无法弄清楚如何开始。

1 个答案:

答案 0 :(得分:0)

使用express-form

进行Node-Express表单验证
  

首先安装快递模块

     

命令: - npm install express-form --save

     

第二次安装快速闪存

     

命令: - npm install express-flash

然后

  

index.js

var express = require("express");
var app = express();
var path = require('path');
var form = require('express-form');          
var field = form.field;                      
var flash = require('express-flash');        


var port = process.env.PORT || 5000 ;  

app.use(flash()); 

app.get('/registration', function (req, res) {
    res.render('pages/registration', {
        messages : req.flash('error')
    });
}); 

app.post('/submit', 

form(
            field("firstname").trim().required(),
            field("lastname").trim().required(),
            field("email").trim().required().isEmail()
    ),

function (req, res) {

    if(!req.form.isValid) 
    {
        req.flash('error', req.form.errors);
        res.redirect('/registration');
    }
    else
    {
        console.log("Form submitted successfully...")
    }

});

app.listen(port);
  

注意: -

在上面的代码中,我正在使用'ejs'模板引擎

获取更多帮助click here