骨干网验证不起作用

时间:2014-04-07 13:12:57

标签: backbone.js

似乎主干验证在执行中存在一些问题。

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'时,验证函数不会抛出错误。

1 个答案:

答案 0 :(得分:1)

“Set”不会自动执行验证。来自文档:

  

默认情况下,在保存之前调用validate,但如果传递了{validate:true},也可以在设置之前调用。

呼叫

person.set({name:"Jags", age:-1}, {validate: true})

如果你想验证它。

请参阅http://backbonejs.org/#Model-validate