2012-12-13 70 views
0

我有手機型號和手機集合。 Marionette.CompositeView用於呈現手機表單元素的集合和用於呈現輸入的Marionette.ItemView。如何使用Marionette.CompositeView表單元素集合,基於已驗證的模型

CompositeView偵聽來自.add-phone按鈕的事件添加到集合空手機模型,但Backbone.Collection驗證我的模型添加事件並拋出exeption。

如何在我的手機型號和Marionette視圖中使用標準驗證器添加新的空手機表單元素?

Uncaught Error: Can't add an invalid model to a collection 

Fiddle

回答

0

你有幾個不同的選擇。您可以允許驗證通過不具有「數字」屬性設置爲全部PhoneModel:

validate: function() { 

     if(_.has(this.attributes, 'number')) 
      return; 

     return this.get('number').length == 0; 
    } 

這仍然會失敗車型,其中有number屬性設置爲空字符串。

或者,您可以在模板中提供一個單獨的部分來添加新項目,並且只有在用戶單擊添加按鈕後才能創建模型。類似於this fiddle

相關問題