我刚刚使用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;
});
}
}
}));
答案 0 :(得分:0)
由于您没有为验证器函数返回任何内容,因此非常期待该错误,您只能在回调函数内返回。
解决方案是返回一个Promise,它将在解析promise时返回布尔值。