2012-03-19 32 views
0

我有一个带验证逻辑的Backbone模型。我已绑定下面的方法来显示字段错误时,验证失败:Backbone.js - 保存对象时未激发错误事件

this.model.on('error', this.showError);

当我尝试设置无效值到我的模型中,错误事件得到妥善解雇。

this.model.set(invalidValues); // triggers showError method

但是,如果我尝试保存使用相同的无效值对象,验证失败的预期,但错误事件不会被解雇,因此showError方法不获取调用..

this.save(invalidValues, {error:this.failed,success:this.succeeded}); // does not trigger showError

保存不会触发日e 错误事件,但this.failed正在按预期调用。

那么,我需要做些什么来确保错误事件总是在出现验证错误时触发?

回答

3

当您在保存选项中设置错误回调时,它会覆盖主干的默认设置,即触发错误事件。在你的错误回调中,你可以触发模型上的错误事件,或者只是调用你的showError方法。