我正在学习 backbone.js
,使用其中的 validate
方法。但它不会在 set
处触发
以下是我的代码:
JS:
var person = Backbone.Model.extend({
defaults:{
name:"Soni",
age:'40',
work:'Still searching'
},
mainWork: function(mainwork) {
return this.get('name')+" does "+mainwork+" for living";
},
validate: function(attrs) {
console.log("hi");
if (attrs.age < 1) {
return "can't end before it starts";
}
}
});
在控制台上:
var x = new person({name:'xyz',age:37});
x.set('age',-34);
请告诉我,我在这里缺少什么。
最佳答案
Validate 方法将在模型 save
上调用。如果你想在属性 set
上触发它,你应该调用它 will validate: true option:
x.set({age: -34}, {validate: true});
关于javascript - backbone.js 中的验证方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22077626/