0

我正在尝试验证表格。当我指定默认数据来填充不匹配的表单时,而不是通过验证commit,我预计会记录一个错误(这是正确的):

Errors: {"confirmedUsername":{"type":"match","message":"Usernames must match!"}}

JsFiddle:http: //jsfiddle.net/franklovecchio/FkNwG/173/

当我指定匹配的默认数据,然后通过验证commit,我得到一个实际的控制台错误:

Uncaught TypeError: Cannot call method 'set' of undefined

JsFiddle:http: //jsfiddle.net/franklovecchio/FkNwG/172/

是什么赋予了?

4

1 回答 1

0

从文档中弗兰克看来,你做错了。

JSFiddle(工作)

http://jsfiddle.net/FkNwG/176/

原因

您可以在不将其绑定到模型的情况下创建表单。例如,为一个简单的数据对象创建一个表单:

var form = new Backbone.Form({
    data: { id: 123, name: 'Rod Kimble', password: 'cool beans' }, //Data to populate the form with
    schema: {
        id:         { type: 'Number' },
        name:       {},
        password:   { type: 'Password' }
    }
}).render();

然后代替 form.commit(),执行以下操作:

var data = form.getValue(); //Returns object with new form values

commit我刚改成getvalue()

于 2012-05-21T05:30:27.163 回答