Backbone验证不起作用

时间:2013-03-31 16:26:42

标签: 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) {
        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。那真是怪了!!请帮忙。

1 个答案:

答案 0 :(得分:21)

您必须将{validate:true} param传递给set方法,例如

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