考虑以下示例:

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});

09-25 18:10