15

私は、Razor ビューを使用して最初に HTML フォーム セグメントを生成する小さな Ajax アプリケーションを使用しています。私は Ajax 以外のアクション リクエストを行っていませんが、Razor を使用して HTML を生成しているので、jQuery Validation 属性の自動生成を楽しんでいます。たとえば、私の単一ページでは、次のような非表示のフォームをレンダリングします。

<section id="person-detail">
    @Html.Action("EditPartial", "Person")
</section>

このEditPartialアクションは、次のような部分ビューを返します。

@using (Html.BeginForm())
{
    <fieldset>
        @Html.HiddenFor(model => model.Id, new { data_bind = "value: id" })
        <div class="editor-label">
            @Html.LabelFor(model => model.FirstName)
        </div>
        <div class="editor-field">
            @Html.TextBoxFor(model => model.FirstName, new { data_bind = "value: firstName" })
            @Html.ValidationMessageFor(model => model.FirstName)
        </div>
        <p>            
            <a href="#" data-bind="click: save">Update</a>&nbsp;&nbsp;
            <a href="#" data-bind="click: delete">Delete</a>
        </p>
    </fieldset>
}

Personモデルのすべてのプロパティが属性でマークされているにもかかわらず、実際にフォームを投稿したことはなく、不明な点があるためRequired、クライアント側の検証の兆候は見られません。保存ボタンがクリックされたときにこの検証をトリガーするにはどうすればよいですか?

4

1 に答える 1

19

フォームに「main」クラスがあるとします。

    $('form').submit(function() {
            var $form = $('form.main');
            $form.valid();
    });
于 2013-02-04T08:18:19.840 に答える