I załączeniu programu obsługi zdarzeń do niektórych przycisków, które zmieniły ustawienia obiektu walidatora na danej postaci.
$(".jsCancel").click(function (e) {
$(e.currentTarget).closest("form").validate().settings.ignore = "*"
});
To zadziałało dla mnie jak urok w MVC3.
Nie wiem, czy to pomaga w szczególności, ale ponieważ używam formularza ajax, musiałem dołączyć wydarzenie do tych przycisków za każdym razem, gdy treść formularza ajax został zastąpiony, używając sukcesu ajax ajax. Pełny kod który reparses formularz i przywiązuje zdarzenia do przycisków Anuluj:
$(document).ajaxSuccess(function (event, xhr, settings) {
var $jQval = $.validator, adapters, data_validation = "unobtrusiveValidation";
$jQval.unobtrusive.parse(document);
$(".jsCancel").click(function (e) {
$(e.currentTarget).closest("form").validate().settings.ignore = "*"
});
});
dziękuję. Rozwiązałem ten problem, dodając opcję "anuluj" do mojego przycisku podczas generowania Treści. Mam pytanie do ciebie Co ten selektor oznacza ".jsCancel"? Czy próbowałeś użyć tego $ (". JsAnuluj"). Live ("kliknij", ... zamiast tego $ (". JsAnuluj"). Click (function (e) ... – Sergii
Dodanie klasy anulowania nie działa dla mnie, stąd moje obejście.Zwykle przedrostki klas css z js, jeśli są one używane do znajdowania elementów, a nie stylizacji.Załóż tę klasę na moje przyciski-submitów, które nie powinny potwierdzać formularza.Myślę na żywo () lub on() również by działało, po prostu nie jestem do tego przyzwyczajony. – Skymt