似乎主干验证在执行中存在一些问题。
Person = Backbone.Model.extend({
defaults:{
name:'Jagadeesh',
age:28,
child:'Bhuvan'
},
initialize: function(){
this.bind('error',function(model,error){
console.log('error');
console.log(error);
});
},
validate:function(attributes){
if(attributes.age < 0){
console.log('You cant be negative years old');
return "You can't be negative years old";
}
}
});
person.set({name:"Jags", age:-1}
当我指定年龄 - '-1'时,验证函数不会抛出错误。
答案 0 :(得分:1)
“Set”不会自动执行验证。来自文档:
默认情况下,在保存之前调用validate,但如果传递了{validate:true},也可以在设置之前调用。
呼叫
person.set({name:"Jags", age:-1}, {validate: true})
如果你想验证它。