当前位置: 代码迷 >> 综合 >> backbone.js Backbone.Model不执行validate验证方法
  详细解决方案

backbone.js Backbone.Model不执行validate验证方法

热度:20   发布时间:2023-12-17 07:21:14.0

参考backbone.js中文文档和backbone.js入门教程pdf都有类似的一段关于Backbone.Model validate方法的案例,发现这段代码并未执行validate方法,如下:

这里写图片描述

通过进一步学习和验证发现,应当绑定的是invalid事件而不是error事件,并且得使用save方法,这样才能触发validate方法,正确案例如下:

var Chapter = Backbone.Model.extend({validate: function(attrs) {
    if (attrs.end < attrs.start) {return "can't end before it starts";}}
});var one = new Chapter({title : "Chapter One: The Beginning"
});one.bind("invalid", function(model, error) {
    alert(model.get("title") + " " + error);
});one.set({start: 15,end:   10
});
one.save();

以上demo结果

这里写图片描述

  相关解决方案