ASP.NET MVC 2:动态启用/禁用客户端验证

时间:2010-05-20 00:37:58

标签: asp.net-mvc-2 client-side

使用MicrosoftMvcValidation.js进行客户端验证,是否有一种简单的方法可以以编程方式(在javascript中)为特定字段关闭和打开验证?

例如,是否可以使用jquery绑定/取消绑定事件?

1 个答案:

答案 0 :(得分:2)

Imran Baloch的博客有你的答案:

http://weblogs.asp.net/imranbaloch/archive/2010/06/20/disabling-client-side-validation-for-disabled-input-controls-in-asp-net-mvc.aspx

它涉及对MicrosoftMvcValidation.debug.js的自定义

更改此内容:

if (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(errorMessage)) {
    Array.add(errors, errorMessage);
}

对此:

var inptEl = $get(context.fieldContext.elements[0].id);
if (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(errorMessage) && !inptEl.disabled) {
    Array.add(errors, errorMessage);
}
else
    Sys.UI.DomElement.removeCssClass(inptEl, Sys.Mvc.FieldContext._inputElementErrorCss);