尝试在状态“root.loaded.saved”中处理事件“成为无效”

Attempted to handle event `becameInvalid` while in state 'root.loaded.saved'

本文关键字:处理事件 成为无效 无效 saved 状态 root loaded      更新时间:2023-09-26

我已经实现了DS。我的 RestAdapter 的错误,感谢 Alex Spellers 关于服务器端验证的教程。

但是,在我的应用程序的这一部分中,我想做一个简单的客户端检查,看看表单是否完整。(为什么没有DS。错误处理所有错误?

  process: function(upload) {
    var form = upload.get('form');
    if (!isComplete(form)) {
        upload.get('errors').add('field', 'field isempty'); 
        return;
    }
    // else "Processing..."

这里的逻辑有些简化,但 errors.add() 应该无效,并向模型添加一个错误。但是我收到以下错误:

Uncaught Error: Attempted to handle event `becameInvalid` on <@model:upload:54a1f298ef912a2ace760b0f> while in state root.loaded.saved. 

我已经阅读了有关状态管理器的信息,但不确定在向模型添加错误之前应该如何以及应该转换到什么状态。

提前感谢!

Ember      : 1.8.1
Ember Data : 1.0.0-beta.11
Handlebars : 1.3.0
jQuery     : 1.11.2

重新审视后,我遇到了以下帖子。解决我问题的不是发送willCommit,而是在执行以下命令之前发送upload.send('becomeDirty');

upload.get('errors').add('field', 'field isempty'); 

现在可以添加错误,因为上传模型未处于saved状态。