1

現在、webapi コントローラーで SaveChanges を呼び出すと、ビジネス ルールが満たされていない場合、エラー メッセージと共に例外がスローされます。これは悪い習慣であり、jQuery が処理できるように、error プロパティを何かに設定して返す必要があります。

問題は、SaveResult オブジェクトの error プロパティをどのように設定するかです。どうすればそのオブジェクトにアクセスできるのでしょうか?

4

1 に答える 1

2

良い質問!実際には、今週後半または来週初めの次のリリースに向けてこれを変更している最中です。「新しい」動作は、SaveChanges 呼び出し中に発生するサーバー側の検証例外が、Breeze クライアントに 2 つの影響を与えることです。

1) 「失敗」プロミス (これは保存の失敗を表すため、SaveResult ではありません) が呼び出され、返されるエラーには、サーバーで発生したすべての検証エラーに関する情報を含む「serverErrors」コレクションが含まれます。エラーメッセージだけでなく、エラーが発生したエンティティとプロパティ (利用可能な場合) を含む完全なエラーの詳細を含む個別の json オブジェクトになります。

2) これらのエラーは、適切な entity.entityAspect の validationErrors コレクションに自動的に追加されるため、entityAspect.validationErrorsChanged 通知を使用する既存の UI は期待どおりに機能します。

于 2013-07-16T17:28:39.603 に答える