backbone.js中的数据完整性

时间:2013-01-16 09:57:41

标签: javascript backbone.js model

在我的项目中,服务器发送的数据已更改。微小的变化,一些foo属性变得foobar,但这已经造成了严重的客户端,因为我没有意识到它。我花了很长时间才弄清楚错误的来源。

是否存在某些(现有的或计划的)可以使骨干网告知它没有收到有效数据?

编辑:更确切地说,我想到的是用某种模型定义对象来提供BB,详细说明:字段名称,字段长度,必需或可选。通用的东西。

1 个答案:

答案 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";
    }
  }
});