请考虑以下示例:
Zoo = Backbone.Model.extend({
validate: function() {
console.log('val');
return "error";
},
url: '/save/'
});
var artis = new Zoo( { name: 'Artis' } );
console.log(artis.get( 'name' ) );
artis.save({name:'Artis2'})
console.log( artis.get( 'name' ) );
如果您尝试将更改保存到模型,但验证失败。
但您可以在示例中看到数据在模型中已更改。
这真的是一个缺点,还是我错过了什么?
答案 0 :(得分:3)
此示例中的数据会发生变化,因为您没有强制验证。如果要在修改客户端模型之前强制进行验证,则必须使用set方法,如下所示:
artis.set({name:'Artis2'}, {validate: true});