0

要するに:

Backbone および Underscore テンプレートを使用する場合、サーバーに POST されたときにフォーム内のデータが最初にフェッチされたときとまったく同じ方法でフォーマットされることを保証する最善の方法は何ですか?

より長い質問:

現在、バックボーンを使用fetch()して、サーバーからデータを JSON として取得しています。success私はその JSON を取得し、アンダースコア テンプレートで次のようにデータを使用しています。

<div class="module-content">
    <form>
        <div class="customer-primary">
            <% if (ParentCompany) { %>
            <div class="row">
                <div class="label">Parent Company</div>
                <div class="value">
                    <div class="current-value"><%= ParentCompany %></div>
                    <div class="editable-value"><input name="ParentCompany" value="<%= ParentCompany %>"></div>
                </div>
            </div>
            <% } %>
            <% if (Title) { %>
            <div class="row">
                <div class="label">Title</div>
                <div class="value">
                    <div class="current-value"><%= Title %></div>
                    <div class="editable-value"><input name="Title" value="<%= Title %>"></div>
                </div>
            </div>
            <% } %>
            …
        </div>
    </form>
</div>

JSON には、次のように、複数のエントリを持つ多数の子があります。

{
   "UserID":"12345",
   "FirstName":"Brandon",
   "Ship": {
      "Address1":"33 One Two Ave",
      "Address2":"#23D",
      "Address3":"",
      "City":"New York",
      "State":"NY",
      "Country":"United States",
      "Zip":"10023"
   },
   "Phones": [
      {
         "Kind":"Tel",
         "Number":"512-123-4567"
      },
      {
         "Kind":"Fax",
         "Number":"512-123-4567"
      }
   ]
}

簡単に DB を更新できるように、同じ方法でフォーマットされたオブジェクトを返すようにフォームを作成するにはどうすればよいですか?

さらに情報が必要な場合はお知らせください。

4

2 に答える 2

0

あなたができる最善のことは、モデルを検証することだと思います。送信する必要があるフィールドを必須にし、それらすべてが必要な場合は、モデル全体を検証します。このプラグインは、このタスクに適したオプションです。 https://github.com/fantactuka/backbone-validator

于 2013-05-29T16:04:33.683 に答える