2010-04-22 19 views
5

Mam TextBox z RequiredFieldValidator na mojej stronie. Mam również link, który wywołuje niektóre proste javascript.Jak wyłączyć RequiredFieldValidator w skrypcie

<asp:TextBox ID="TextBox1" runat="server" /> 
<asp:RequiredFieldValidator 
ID="RequiredFieldValidator4" runat="server" ControlToValidate="TextBox1" 
Display="Dynamic" /> 
<asp:LinkButton ID="Link1" runat="server" OnClientClick="DoSomething(); return false;" CausesValidation="false"Text="Do" /> 

function DoSomething() { 
textbox1.val("blah"); } 

Gdy użytkownik wpisze coś w polu tekstowym, a następnie usunie ten tekst i ustawi ostrość następnej kontrolki - to aktywuje się walidator. Następnie użytkownik może użyć łącza, które dodaje tekst za pomocą javascript. Tekst TextBox1 nie jest już pusty, ale RequiredFieldValidator nadal wyświetla komunikat o błędzie. Jak temu zapobiec?

Odpowiedz

0

Cały punkt walidatorów polega na tym, że mają być używane po stronie serwera po sprawdzeniu poprawności strony klienta po stronie serwera: i.

Jeśli chcesz tylko sprawdzić po stronie serwera, nie używaj walidatora i po prostu sprawdź, czy wartości są poprawne i zgłoś błąd.

+0

Chcę, aby sprawdzanie poprawności odbywało się po stronie klienta. Spójrz, że DoSomething() dodaje tekst do TextBox1, ale ValidationError nadal wyświetla komunikat o błędzie i myli użytkownika. – jlp

6

można użyć JavaScript ValidatorEnable funkcja

ValidatorEnable(document.getElementById('<%= ValidatorID.ClientID %>'), true); 
1

Polecam CustomValidator tutaj, ponieważ nie chcą normalnego RequiredFieldValidator zachowanie. Metoda klienta CustomValidator uruchomi się tylko na poczcie zwrotnej.

Powiązane problemy