1

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

有什么东西(现有的或计划的)可以让主干告诉它没有收到有效的数据吗?

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

4

1 回答 1

1

覆盖模型上的validate 方法。Backbone 默认有一个空实现,你可以根据你的应用手动检查属性。

当您调用 set 或 create 创建新模型时,Backbone 会自动调用 validate。

如何使用:(来自文档)

如果出现错误,则返回除 undefined 之外的任何值/对象,否则不返回任何值/对象(未定义)。

如果检测到错误,您的模型将保持不变。

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 回答