考虑以下示例:
http://jsfiddle.net/FxX7v/1/
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' ) );
如果您尝试将更改保存到模型,但是验证失败。
但是您可以在示例中看到模型中的数据已更改。
这真的是缺点吗?还是我错过了什么?
最佳答案
在此示例中,数据将更改,因为您没有强制进行验证。如果要在修改客户端模型之前强制进行验证,则必须使用如下set方法:
artis.set({name:'Artis2'}, {validate: true});