0

我有手机型号和手机系列。Marionette.CompositeView 用于呈现手机表单元素的集合,Marionette.ItemView 用于呈现输入。

CompositeView 从 .add-phone 按钮监听事件添加添加到集合空电话模型,但 Backbone.Collection 在添加事件上验证我的模型并抛出异常。

如何在我的手机模型和 Marionette 视图中使用标准验证器来添加新的空手机表单元素?

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

小提琴

4

1 回答 1

0

你有几个不同的选择。您可以允许验证传递一个根本没有设置“数字”属性的 PhoneModel:

    validate: function() {

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

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

这仍然会使模型失败,这些模型的number属性设置为空字符串。

或者,您可以在模板中提供单独的部分以添加新项目,并仅在用户单击“添加”按钮后创建模型。像这个小提琴一样的东西。

于 2012-12-13T19:25:40.463 回答