Есть много способов отключить ненавязчивую проверку в Javascript, но большинство из них кажется немного хакерскими ...
- Недавно обнаружилось, что вы можете сделать это с помощью кнопки отправки.Проверьте эту ссылку для получения информации
http://www.nitrix -reloaded.com / 2013/09/16 / disable-client-side-validation-on-a-button-click-asp-net-mvc /
//this
<script type="text/javascript">
document.getElementById("backButton").disableValidation = true;
</script>
//or this
<input type="submit" name="backButton" value="Back"
title="Go back to Prev Step" disableValidation="true" />
//or this
<input type="submit" name="backButton" value="Back"
title="Go back to Prev Step" class="mybtn-style cancel" />
Другой способ, более гибкий, но более сложный: вы можете отключить ненавязчивую проверку, установив для атрибута
data-val
значение
false
.Но есть хитрость ...
Ненавязчивые данные проверки кэшируются, когда документ готов.Это означает, что если у вас есть data-val='true'
в начале и вы измените его позже, оно все равно будет true
.
Итак, если вы хотите изменить его после того, как документ будет готов, вы такженеобходимо сбросить валидатор, который удалит кэшированные данные.Вот как это сделать:
disableValidation: function () {
//Set the attribute to false
$("[data-val='true']").attr('data-val', 'false');
//Reset validation message
$('.field-validation-error')
.removeClass('field-validation-error')
.addClass('field-validation-valid');
//Reset input, select and textarea style
$('.input-validation-error')
.removeClass('input-validation-error')
.addClass('valid');
//Reset validation summary
$(".validation-summary-errors")
.removeClass("validation-summary-errors")
.addClass("validation-summary-valid");
//To reenable lazy validation (no validation until you submit the form)
$('form').removeData('unobtrusiveValidation');
$('form').removeData('validator');
$.validator.unobtrusive.parse($('form'));
},
Вам не нужно сбрасывать все сообщения, стили ввода и сводку проверки, чтобы иметь возможность отправить форму, но это полезно, если вы хотите изменить проверку послестраница загружена.В противном случае, даже если вы измените проверку, предыдущие сообщения об ошибках все равно будут видны ...