1

考虑以下示例:

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

如果您尝试保存对模型的更改,但验证失败。

但是您可以在示例中看到模型中的数据发生了变化。

这真的是一个缺点还是我错过了什么?

4

1 回答 1

3

此示例中的数据将更改,因为您没有强制验证。如果要在修改客户端模型之前强制验证,则必须使用 set 方法,如下所示:

artis.set({name:'Artis2'}, {validate: true});
于 2013-10-28T15:40:57.413 回答