我刚刚开始使用backboneJs。
我使用VisualStudio2012做了一个简单的例子。 我添加了主干。
在我的main.js
中var Person = Backbone.Model.extend({
defaults: {
name: 'Mr Steel',
age: 26,
occupation: 'FrontEnd Web Developer'
},
validate: function(attrs) {
if (attrs.age < 0) {
return 'Age must be a positive number.';
}
},
work: function() {
return this.get('name') + ' is working.';
}
});
但是当我去浏览器&gt;安慰。并输入以下内容..验证甚至不会被触发。
var person = new Person();
person.get('age');//26
person.set('age', -25);//sets -25
它将年龄设定为-25。那真是怪了!!请帮忙。
答案 0 :(得分:21)
您必须将{validate:true}
param传递给set
方法,例如
person.set('age', -25, {validate:true});