在express.js中进行表单验证

时间:2016-10-17 09:24:56

标签: javascript node.js express

我想验证表单是否包含用户详细信息。除了非空检查的基本验证之外,我还想检查用户名/电子邮件是否在DB中退出。对于电子邮件字段,我想检查非空,格式以及最后在DB中的可用性。并且电子邮件的错误消息也应该是替代方案和用户名。

这是我到目前为止的尝试 -

app.post('/user-add', checkAuth, function(req,res){

    req.checkBody('username', 'Username is required').notEmpty(); 
    req.checkBody('first_name', 'First Name is required').notEmpty(); 
    req.checkBody('last_name', 'Last Name is required').notEmpty();
    req.checkBody('email', 'Email is required').notEmpty();
    req.checkBody('email', 'Valid Email is required').isEmail();
});

那么如何实现这一点。任何帮助将不胜感激!

由于

1 个答案:

答案 0 :(得分:0)

我认为你应该使用验证器。这是一个节点包。优秀且非常简单易用。试一次。你可以在validator

找到它

服务器端用法

使用<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <html> <body> <form name="f2" action="payment.jsp" method="get" > <label> Date:</label><br> From:<input type="date" name="from" id="myDate" value="demo" min="2016-10-13"> Till:<input type="date" name="till" id="myDate1" value="demo1"><br> </body> </html>

安装库
npm install validator

ES6

    var validator = require('validator');

    validator.isEmail('foo@bar.com'); //=> true 

或者,只导入库的一个子集:

    import validator from 'validator';

客户端使用    该库既可以作为独立脚本加载,也可以通过兼容AMD的加载器

加载
    import isEmail from 'validator/lib/isEmail';