环回模型验证在保存前已经开始运行'观察者

时间:2017-06-15 10:53:46

标签: loopbackjs

我在应用程序中使用Loopback,Angular2和ng-bootstrap date picker并且无法保存日期。

我使用@angular/http向包含ng-bootstrap日期选择器输入的Loopback后端发送POST请求。日期选择器格式为:

{
    day: 15, 
    month: 6, 
    year: 2017
}

我可以在我的请求的标题中看到,但是Loopback希望将日期保存为JavaScript日期对象。

在我尝试保存日期数据之前,我想将其从上面的格式转换为本机JavaScript对象。但是,如果我运行以下代码,控制台会显示Invalid Date

MyModel.observe('before save', (ctx, next) => {
    console.log('date: ', ctx.instance.date);
});

loopback documentation表示before save观察者在调用请求验证程序之前触发,但在这种情况下看起来并非如此。

正确的 loopback 方法是什么,在验证程序陷入其中之前访问POST请求并修改它并抛出错误?

1 个答案:

答案 0 :(得分:0)

看起来远程钩子在验证器之前被击中。您可能想尝试:

MyModel.beforeRemote('create', (ctx, [instance], next)=>{
    // handle code here
    // don't forget to validate the data on 'updateById' too
    next();
});