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 に答える