1

私のプロジェクトでは、サーバーから送信されたデータが変更されました。小さな変更、いくつかの foo 属性が foobar になりましたが、これはクライアント側に大混乱を引き起こしました。エラーの原因を突き止めるのに非常に長い時間がかかりました。

有効なデータを受信しなかったことをバックボーンに伝えることができる何か (既存または計画中) はありますか?

編集:より正確には、私が念頭に置いているのは、フィールド名、フィールド長、必須またはオプションの詳細を示す、ある種のモデル定義オブジェクトを BB に供給することです。一般的なもの。

4

1 に答える 1

1

モデルの検証メソッドをオーバーライドします。バックボーンにはデフォルトで空の実装があり、アプリに基づいて属性を手動で確認できます。

set または create create new モデルを呼び出すと、Backbone によって validate が自動的に呼び出されます。

使い方:(ドキュメントより)

エラーがある場合は未定義以外の値/オブジェクトを返し、そうでない場合は何も返しません (未定義)。

エラーが検出された場合、モデルは変更されません。

var Chapter = Backbone.Model.extend({
  validate: function(attrs, options) {
    if (attrs.end < attrs.start) {
      return "can't end before it starts";
    }
  }
});
于 2013-01-16T10:38:03.233 に答える