0

我有一个 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 过渡,您可以通过使用 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 回答