警告:意外返回值:'custom'验证器(ExpressJS)返回'undefined'

时间:2017-07-16 14:23:25

标签: node.js validation express

我刚刚使用ExpressJS了解NodeJS,现在我正在试图了解使用express-validator的自定义验证器。 我正在制作一个自定义验证器来检查用户名的可用性。但是在控制台上它会返回:

  

警告:意外返回值:'custom'validator

返回'undefined'

但我看到我的编码,我确信没有任何错误。返回所有值,但自定义验证器似乎不再起作用。

这是我的自定义验证器:

app.use(validator({
    customValidators : {
        cekUsername : function(value){
            sql = 'SELECT COUNT(username) as "username" from tbpengguna WHERE username='+mysql.escape(value)+';';
            koneksi.query(sql, function(e, rows, f){
                console.log(rows[0].username);
                return rows[0].username == 0;
            }); 
        }
    }
}));

1 个答案:

答案 0 :(得分:0)

由于您没有为验证器函数返回任何内容,因此非常期待该错误,您只能在回调函数内返回。

解决方案是返回一个Promise,它将在解析promise时返回布尔值。