[英]Form validation in express.js
我要验证包含用户详细信息的表单。 除了用于非空检查的基本验证之外,我还想检查用户名/电子邮件是否在数据库中退出。 对于电子邮件字段,我要检查非空,格式以及最后在数据库中的可用性。 电子邮件的错误消息也应该是备用的,并且用户名也应如此。
到目前为止,我在这里尝试过-
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();
});
那么如何实现这一目标。 任何帮助,将不胜感激!
谢谢
我认为您应该使用验证器。 这是一个节点包。 出色且非常易于使用。请尝试一次。 您可以在这里找到验证器
服务器端使用
使用npm install validator
安装库
var validator = require('validator');
validator.isEmail('foo@bar.com'); //=> true
ES6
import validator from 'validator';
或者,仅导入库的一个子集:
import isEmail from 'validator/lib/isEmail';
客户端用法该库可以作为独立脚本或通过与AMD兼容的加载器加载
<script type="text/javascript" src="validator.min.js"></script>
<script type="text/javascript">
validator.isEmail('foo@bar.com'); //=> true
//can use this syntax for checking availability of fields in body
if( req.body.email == undefined || req.body.email == '' || req.body.email == null)
{
// do something such as throw error
}
// check for valid or invalid attribute
if(!validator.isEmail(req.body.email)){
// do something such as throw error
}
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.