Backbone.js - 保存对象时未触发错误事件

时间:2012-03-19 16:38:27

标签: javascript backbone.js backbone-events

我有一个带验证逻辑的Backbone模型。我已经绑定了以下方法来在验证失败时显示字段错误:

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

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

那么,我需要做些什么才能确保在出现验证错误时始终触发 on error 事件?

1 个答案:

答案 0 :(得分:3)

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