2016-10-28 12 views
0

検証が行われた後、モデルをデータベースに保存する前に更新したいと考えています。ストロングループループバックの検証と要求のライフサイクル

ループバック要求ライフサイクルの正しい点は何ですか(これは.NET Webフォームを思い出させるようになっています)。

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関数が呼び出される前にトリガするために、デフォルトのループバックモデルの検証をしたいです。それをどうやってやりますか?

を私のbefore saveフックに明示的に呼び出すことができましたが、自動的に行われるように再配置できるはずです。

ループバックOperation Hooks文書には、検証が行われたときは記載されておらず、Remote Hooks文書もありません。

答えて

0

"検証が行われた後、モデルをデータベースに保存する前にモデルを更新したい" 私はこれに対する解決策を持っています。検証後、データをdbに保存する前に呼び出されるループバックで 'persist'フックを使用します。 'ctx.data'パラメータを使用して、任意のデータを挿入または変更できます。しかし、少し遅れて、それが助けてくれることを願っています! リンク:https://loopback.io/doc/en/lb3/Operation-hooks.html#persist

関連する問題