0

2 つのボタンを含むフォームがある mvc 2 アプリケーションを使用しています。

 <% Html.EnableClientValidation(); %>
<%using(Html.BeginForm()){ %>
            <%= Html.LabelFor(m=> m.FormName) %>
            <%= Html.TextBoxFor(m=> m.FormName) %>
            <%: Html.ValidationMessageFor(m => m.FormName) %>
   <input type="submit" name="BtnSegment" value="Add" class="button_99" title="Add" />
    <input type="submit" name="BtnSave" value="Save" class="button_99"  title="Save" />
<%} %>

今私の要件は、ユーザーがAddボタンをクリックしたときに検証を無効にすることです。Saveただし、ユーザーがボタンをクリックしたときに検証します。ありがとう、スラジュ

4

1 に答える 1

1

クライアント側の検証に MSAjax を使用している場合は、次のようにすることができます。

<input type="submit" name="BtnSegment" disableValidation="true" value="Add" class="button_99" title="Add" />

disableValidationボタンの属性に注意してください。明らかに、これは無効な HTML Transitional であり、javascript を使用してこの属性を追加することでごまかすことができます。

document.getElementById('idOfYourButton').disableValidation = true;

まだ臭いですが、少なくともバリデーターは満足しています。

個人的には、MSAjax ライブラリはがらくただと考えています。jquery.validate プラグイン(ちなみに、これは ASP.NET MVC 3 のデフォルトのクライアント側検証メカニズムです) を使用cancelして、ボタンにクラスを単純に適用します。

<input type="submit" name="BtnSegment" value="Add" class="button_99 cancel" title="Add" />
于 2011-03-03T17:50:25.680 に答える