Javascript 主干验证不工作

Javascript 主干验证不工作,javascript,validation,backbone.js,Javascript,Validation,Backbone.js,我刚开始做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) {

我刚开始做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.';
}
});

它将年龄设置为-25岁。真奇怪!!请帮助。

您必须将
{validate:true}
参数传递到
设置
方法,例如


person.set('age',-25,{validate:true})

有效,我在视频中看到,当某人没有通过{validate:true}并且仍然有效时works@STEEL是的,在旧的主干版本中,方法
set
自动调用
validate
方法。但现在默认情况下禁用验证。
var person = new Person();
person.get('age');//26
person.set('age', -25);//sets -25