0

クライアント側の検証に MicrosoftMvcValidation.js などを使用する既存の ASP.NET MVC2 アプリケーションを変更しています。

<h2>Details</h2>
<script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftMvcValidation.js" type="text/javascript"></script>

<% Html.EnableClientValidation(); %>

<% using (Html.BeginForm("Details", "Add", FormMethod.Post, new { id="addForm" }))
   { %>
    <%: Html.ValidationSummary(true) %>

    <fieldset>
        <legend>Fields</legend>

        <div class="editor-label">
            <%: Html.LabelFor(model => model.Title) %>
        </div>
        <div class="editor-field">
            <%: Html.TextBoxFor(model => model.Title) %>
            <%: Html.ValidationMessageFor(model => model.Title) %>
        </div>
    ...
    <input type="submit" value="Create" />

クライアント側の検証はうまく機能しています。

ただし、デザイナーは送信ボタンをきれいなアンカー タグに変更したいと考えています。アンカーの onclick イベントを使用してフォームを送信しようとしています。

<a class="add-campaign-button-done" onclick="document.getElementById('addForm').submit();"><span></span></a>

フォームは送信されますが、クライアント側の検証が機能しなくなります。

4

1 に答える 1

0

少しの jQuery を使用すると、このトリックを実行できます。この投稿を参照してください: Call MVC 3 Client Side Validation Manually for ajax Posts for more information. さらにヘルプが必要な場合はお知らせください。

于 2011-06-08T19:55:59.300 に答える