在我的项目中,服务器发送的数据已更改。微小的变化,一些foo属性变得foobar,但这已经造成了严重的客户端,因为我没有意识到它。我花了很长时间才弄清楚错误的来源。
是否存在某些(现有的或计划的)可以使骨干网告知它没有收到有效数据?
编辑:更确切地说,我想到的是用某种模型定义对象来提供BB,详细说明:字段名称,字段长度,必需或可选。通用的东西。
答案 0 :(得分:1)
覆盖模型上的validate method。默认情况下,Backbone具有空实现,您可以根据应用程序手动检查属性。
当您调用set或create create new models时,Backbone会自动调用validate。
使用方法:(来自文档)
如果出现错误,则返回除undefined之外的任何值/对象,否则返回任何值(未定义)。
如果检测到错误,您的模型将保持不变。
var Chapter = Backbone.Model.extend({
validate: function(attrs, options) {
if (attrs.end < attrs.start) {
return "can't end before it starts";
}
}
});