Strongloop环回验证和请求生命周期

时间:2016-10-28 11:02:10

标签: javascript node.js validation loopbackjs strongloop

我希望在验证发生后将模型保存到数据库之前更新模型。

环回请求生命周期中的正确点是什么(呃,这开始让我想起.NET webforms!)这样做了吗?

Report.validatesPresenceOf('basicInfo');
Report.beforeRemote('create', addCreatorId);

function addCreatorId(ctx, instance, next) {
    // alter the model, validation has not occurred yet
}

Report.observe('before save', sendToThirdParty);

function sendToThirdParty(ctx, instance, next) {
    // send contents to third party, alter model with response
    // validation has not occurred yet
}

Report.afterRemote('create', sendEmail);

function sendEmail(ctx, record, next) { 
    // model has been saved to the database
    // validation occurs before this point
}

理想情况下,我希望在调用addCreatorIdsendToThirdParty函数之前触发默认的环回模型验证。我应该怎么做呢?

我可以在我的model.isValid()挂钩中清楚地呼叫before save,但似乎我应该能够重新排列这些,以便自动发生。

环回Operation Hooks文档在验证发生时没有提及,Remote Hooks文档也没有。

1 个答案:

答案 0 :(得分:1)

"我希望在验证发生后将模型保存到数据库之前更新模型。" 我有解决方案。使用'坚持'挂钩在回调中,在验证之后和将数据保存到db之前调用。您可以使用其“ctx.data”插入或更改所需的任何数据。参数。希望它有所帮助,但有点晚了! 链接:https://loopback.io/doc/en/lb3/Operation-hooks.html#persist