express-validator,validationErrors 是一个空对象

express-validator, validationErrors is an empty object

我想检查一个字符串是否是一封电子邮件。这是代码。

req.checkBody('email', 'Invalid email address').isEmail();
var validationErrors = req.validationErrors();

if(validationErrors) {
    console.log(`Validation errors ${validationErrors}`);
}

控制台输出:

Validation errors [object Object]

您正在使用 ES6 的 Template Literals 功能。它可以像您一样在字符串中嵌入变量。但它不解析 objectarray。使用繁体 console.log:

console.log('Validation errors ', validationErrors);

PS:使用 console.error 来记录错误,而不是 console.log

我推荐你使用正则表达式, 只需将此代码放入您的函数

var checkMail = /^[\w\.]+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$/;

alert(checkMail.test('dasdasd@gmail.com'));