我正在尝试运行以下代码:
var eligible = Backbone.Model.extend({
validate : function(attrs,options){
//alert("ldsafh");
if(attrs.min < attrs.max) {
return "not eligible for voting";
}
}
});
var age = new eligible({
advice : "You are "
});
age.on("invalid", function(model, error) {
alert("sfndxgj");
console.log(model.get('advice') + " " + error);
});
age.set({
min : 18,
max : 100
});
为什么这个age.on活动不起作用? 请帮帮我....
答案 0 :(得分:3)
在集合中传递{validate:true}
作为选项。
默认情况下,在保存之前调用validate,但如果传递了{validate:true},也可以在设置之前调用
http://backbonejs.org/#Model-validate
注意:invalid
事件仅在升级到Backbone 1.0后可用。见Change log
答案 1 :(得分:1)
因为您正在调用age.set()
而不是age.save()
来为您调用validate
方法。