在我的項目中,服務器發送的數據已更改。小小的變化,一些foo屬性變成了foobar,但是這造成了客戶端的混亂,因爲我沒有意識到這一點。我花了很長時間才弄清楚錯誤來自哪裏。backbone.js中的數據完整性
有什麼東西(現有的或計劃中的)可以讓骨幹網知道它沒有收到有效的數據嗎?
編輯:更準確地說,我記住的是給BB提供一些模型定義對象,詳細說明:字段名稱,字段長度,必需或可選。通用的東西。
在我的項目中,服務器發送的數據已更改。小小的變化,一些foo屬性變成了foobar,但是這造成了客戶端的混亂,因爲我沒有意識到這一點。我花了很長時間才弄清楚錯誤來自哪裏。backbone.js中的數據完整性
有什麼東西(現有的或計劃中的)可以讓骨幹網知道它沒有收到有效的數據嗎?
編輯:更準確地說,我記住的是給BB提供一些模型定義對象,詳細說明:字段名稱,字段長度,必需或可選。通用的東西。
覆蓋模型上的validate method。骨幹默認情況下有一個空的實現,你可以根據你的應用程序手動檢查屬性。
當您調用set或創建新模型時,驗證由Backbone自動調用。
使用方法:(從DOC)
返回任何值/對象除了不確定的,如果有一個錯誤,否則返回任何結果(不確定)。
如果檢測到錯誤,您的模型將保持不變。
var Chapter = Backbone.Model.extend({
validate: function(attrs, options) {
if (attrs.end < attrs.start) {
return "can't end before it starts";
}
}
});
不錯,所以我想這是它應該被吸引的地方,但我正在尋找一些通用的東西,所有的領域都以系統的方式描述。 – Olivvv
你的意思是服務器上的數據已經改變了,現在你的客戶端上的數據是陳舊的?或者你的意思是說,當'fetch'或'update'改變某些字段的值時,你希望得到通知? – jevakallio
發送的json是不同的,(不同的屬性名稱),我希望骨幹注意它,並說有無效的數據。 – Olivvv
我將在我的[主幹驗證插件](http://toddself.github.com/Backbone.Validator/)的評論中發表評論。警告:我還沒有更新到Backbone 0.99。 – tkone