使用Express-form模块验证输入。具体看custom methods是否可以编写一个验证函数,其结果将取决于另一个字段。
或者更确切地说,我想要实现的是在下拉列表中选择某个值时需要的一个字段,但其他值不需要。
至于“你试过什么”评论。我没有,阅读文档,我无法弄清楚如何开始。
答案 0 :(得分:0)
首先安装快递模块
命令: - 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