我的模型中有一个验证函数,看起来像
validate: function(attributes, options) {
if(attributes.name == "") {
return 'Please provide a name';
}
},
然后我将此模型添加到collect并创建一个新集合,并在我的模型验证失败时添加我的事件监听器
var TheCollection = new MyCollection;
TheCollection.on('invalid', function(model, errors) {
//Do something
});
这是放置听众的正确位置吗?我很确定不是,但我不知道还能把它放在哪里。我需要将它放在视图中吗?
答案 0 :(得分:0)
是的,我会说它属于视图。据推测,您在视图中定义了某种函数来处理保存模型,并绑定到适当的事件,例如单击提交按钮。在该函数中,我首先调用model.isValid()
,然后根据响应,保存有效模型或向用户返回错误。
作为一般的经验法则,如果你想在控制器中放置一些服务器端的MVC框架,那么视图通常是把它放在Backbone中的最佳位置。就个人而言,我发现Backbone的一般理念类似于Django背后的MTV理念,其中的视图取代了控制器。