ASP.NET MVC 2: dynamically enable / disable client-side validation

Using MicrosoftMvcValidation.js for client-side validation, is there an easy way to programmatically (in javascript) disable and enable validation for certain fields?

Is it possible, for example, to use jquery to bind / unbind events?

+3
source share
1 answer

Imran Belukh's blog has your answer:

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

It includes customization in MicrosoftMvcValidation.debug.js

Change this:

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

To that:

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);
+2
source

Source: https://habr.com/ru/post/1746297/


All Articles