2014-12-30 56 views
0

我已爲RestAdapter實施了DS.Errors,這要歸功於Alex Spellers教程server side validation嘗試處理狀態爲'root.loaded.saved'的事件`becomeInvalid`

但是,在我的應用程序的這一部分,我想做一個簡單的客戶端檢查,看看錶單是否完整。 (爲什麼不DS.Errors處理所有的錯誤?)

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 

回答

4

重溫這之後我遇到了以下post。有什麼解決我的問題是不發送willCommit,但在執行下列之前發送upload.send('becomeDirty');

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

現在可以添加錯誤的上傳模式是不是在saved狀態。

+0

太棒了,謝謝! – pixelearth

相關問題