0

検証ロジックを備えたバックボーン モデルがあります。検証が失敗したときにフィールドエラーを表示するために、次のメソッドをバインドしました。

this.model.on('error', this.showError);

モデルに無効​​な値を設定しようとすると、エラーイベントが適切に発生します。

this.model.set(invalidValues); // triggers showError method

しかし、同じ無効な値を使用してオブジェクトを保存しようとすると、検証は期待どおりに失敗しますが、エラーイベントが発生しないため、showErrorメソッドが呼び出されません。

this.save(invalidValues, {error:this.failed,success:this.succeeded}); // does not trigger showError

保存エラーイベントをトリガーしませんが、 this.failedは期待どおりに呼び出されます。

では、検証エラーが発生したときにon errorイベントが常にトリガーされるようにするには、どうすればよいでしょうか?

4

1 に答える 1

3

保存オプションでエラー コールバックを設定すると、エラー イベントをトリガーするバックボーンのデフォルトが上書きされます。エラー コールバックでは、モデルでエラー イベントをトリガーするか、単に showError メソッドを呼び出すことができます。

于 2012-03-19T17:13:07.717 に答える