LoopBack此对象在自定义验证中未定义

时间:2018-06-24 03:40:57

标签: node.js loopbackjs

我试图在环回的示例项目中使用自定义验证器。根据{{​​3}},我应该能够使用this关键字来访问帖子中的JSON数据,但是在尝试时(在下面的示例中)。我收到一个错误消息,告诉我this未定义(实际上console.log(this)的输出显示undefined

module.exports = function(Quote) {    
  Quote.validatesLengthOf('content', { min:10, message:"Code is too short"});
    Quote.validate('content', (err) => {
    console.log(this);
    if (this.content.indexOf('testing') != -1) return err();

    }, {message:'Cannot contain the word testing'});
};

访问输入数据的正确方法是什么?

我的版本是:

$ lb --version
4.2.0 (generator-loopback@5.8.1 loopback-workspace@4.3.0)
$ node --version
v6.9.1

1 个答案:

答案 0 :(得分:0)

这可能是由于使用箭头功能引起的。箭头函数没有自己的“ this”,因此在将其打印到控制台时未定义。