Używam wtyczki jQuery Validation do sprawdzania poprawności formularza. Czy wiesz, jak wymusić rewalidację na wcześniej odnoszących sukcesy polach?jQuery Validation Plugin: Jak mogę wymusić walidację na wcześniej ważnych polach?
Próbowałem funkcję .form stosując następujący czek (ta jest wykonywana, gdy użytkownik kliknie „submit”):
if ($('#form1').validate().form()==false)
{
formValid = false;
}
Jednak wydaje się, że powyższy kod nie wznawia więc walidacji pól są już pomyślnie zatwierdzone (tzn. mają zaznaczenie obok) nie są ponownie sprawdzane.
Powodem, dla którego chce się ponowić próbę rewalidacji na polach, które zakończyły się pomyślnie, jest to, że polegają one na zdalnej walidacji, a wynik (sukces lub niepowodzenie) może się zmienić między użytkownikiem opuszczającym pole, a kliknięciem przycisku Wyślij. (Dotyczy to pola "nazwa użytkownika").
W przypadku, gdy wpływa na odpowiedź, mam wiele formularzy do sprawdzenia (dla uproszczenia, w fragmencie kodu powyżej odnoszę się tylko do "# form1").
Dzięki z góry za wszelkie rady,
Rob
Excellent - to czyści walidacji doskonale, dzięki Nick ... chociaż inny problem wyskoczyło! Ponieważ obecnie rewaliduję wszystkie formularze, pojawia się błąd w javascript: "Nie udało się załadować zasobu: anulowano". Problem występuje tylko wtedy, gdy mam wiele formularzy na stronie (która jest operacją sterowaną przez użytkownika, ponieważ formularze są tworzone dynamicznie). Jakieś sugestie? – Rob
@Rob - Chciałbym wyczyścić tylko te opcje zdalne, to uratuje najwięcej bólów głowy, czy możesz to zrobić za pomocą selektora bardziej określonego niż powyżej? Ponownie sprawdzę tylko ten, który przesyłasz. –
z niektórych debugowania okazuje się, że błąd "Nie można załadować zasobu" ma miejsce, gdy .validate(). Form() jest wywoływana jednocześnie dla dwóch wejść formularza o tej samej nazwie. Muszę sprawdzić wszystkie dane wejściowe po przesłaniu, aby nawet posiadanie najbardziej konkretnego selektora nadal powodowało problem. Błąd nie występuje, jeśli wywołuję .validate(). Form() ręcznie w każdym formularzu sekwencyjnie z akcją sterowaną przez użytkownika (np. Klikając przycisk "sprawdzania poprawności") ... więc wydaje się, że muszę potwierdzić formularz w sekwencji (tylko wywołać sprawdzanie poprawności następnego formularza po pomyślnym zatwierdzeniu pierwszego) ... Jakieś sugestie? – Rob