2010-01-27 7 views
8

Chcę wyłączyć ASP.NET RequiredFieldValidator z JavaScript. Aktualnie używam następującego kodu:Podsumowanie sprawdzania poprawności platformy ASP.NET: Jak wyłączyć walidator przy użyciu JavaScript?

function doSomething() 
{ 
    var myVal = document.getElementById('myValidatorClientID'); 
    ValidatorEnable(myVal, false); 
} 

Powoduje wyłączenie walidatora. Ale moim problemem jest to, że używam ValidationSummary. To podsumowanie pokazuje komunikat sprawdzania poprawności, nawet jeśli wyłączę walidator.

Czy ktoś może mi powiedzieć, jak wyłączyć walidatora również w ValidationSummary?

+0

Dlaczego nie wyjąć walidator wszystko razem? – ram

+0

Myślę, że Ram ma rację ... musisz go całkowicie usunąć. – Bryan

Odpowiedz

9

Rozwiązaniem jest dodanie połączenia do ValidationSummaryOnSubmit() po wyłączeniu walidatora.

function doSomething() 
{ 
    var myVal = document.getElementById('myValidatorClientID'); 
    ValidatorEnable(myVal, false); 
    ValidationSummaryOnSubmit(); 
} 

Można znaleźć plik o nazwie WebUIValidation.js na komputerze rozwoju, który zawiera po stronie klienta JavaScript funkcje wykorzystywane w procesie walidacji ASP.NET. Funkcje są dobrze nazwane i ogólnie łatwo jest zrozumieć, co każdy z nich robi.

+0

Hej Jason! Dziękuję, spróbuję jutro. :) – Torben

+0

To działa, dziękuję! – Torben

+0

Dobra robota, Jason. Działa jak marzenie – koenmetsu

0

Może możesz spróbować ustawić EnableClientScript=true; i ukryć podsumowanie, ustawiając jego styl wyświetlania css na zero, gdy wyłączasz weryfikator. Podsumowanie jest renderowane jako div i jest ukryte, gdy nie jest wyświetlane żadne podsumowanie.

+0

To nie zadziała. EnableClientScript wpływa tylko na sposób renderowania strony ... potem jest bezużyteczny. Torben musi wyłączyć walidator po stronie klienta. – Bryan

0

Sprawdź kod javascript wygenerowany dla walidatorów po stronie klienta. Wierzę, że będziesz musiał usunąć zakresy sprawdzania poprawności z tablicy "Page_Validators". Identyfikator elementu będzie zgodny z identyfikatorem Validatora.

To tylko teoria. :) Daj nam znać, czy to działa, bo jestem zainteresowany.

0

ValidatorEnable() nie działa dla mnie, ale to nie

document.getElementById("<%=RequiredFieldValidatorId.ClientID %>").enabled = true; 
Powiązane problemy