2010-04-23 17 views
6

Mam menu rozwijane, w którym użytkownik wybiera kraj. Jest to wymagane "pole".Włączanie/wyłączanie RequiredValidator po stronie klienta/CustomValidator nie wypalanie

Obok znajduje się pole tekstowe o nazwie Stan. Jeśli użytkownik wybierze US, wymagane jest pole State. Jeśli użytkownik wybierze np. Szwecja, państwo nie jest wymagane, ponieważ Szwecja nie ma państw.

Przykładowy kod:

<asp:DropDownList runat="server" ID="Country"></asp:DropDownList> 
<asp:RequiredFieldValidator ControlToValidate="Country" 
       runat="server" Display="Static" ErrorMessage="Required field" /> 

<asp:TextBox runat="server" ID="State"></asp:TextBox> 
<asp:CustomValidator ClientValidationFunction="DoesntGetFiredIfStateIsEmpty" 
       runat="server" Display="Static" ErrorMessage="Required field" /> 

<!-- SO, RATHER THIS TOGETHER WITH CONDITIONAL FIRING --> 
<asp:RequiredFieldValidator ControlToValidate="State" 
       runat="server" Display="Static" ErrorMessage="Required field" /> 

Moje pytanie brzmi: Jak mogę zrobić to sprawdzanie pożaru CustomValidator gdy jest pusta?

Lub umieść simplier: Jak mogę warunkowo wykonać Pożar WymaganegoZWartości?

Lub najprostszy: Jak mogę włączyć/wyłączyć RequiredValidator po stronie klienta?

Odpowiedz

10

Spróbuj to zrobić z javascript, aby włączyć i wyłączyć weryfikatorów

ValidatorEnable(RequiredFieldValidatorId, false); 

Wyjazd this question that I answered.

+0

Wygląda to na pełne nadziei, ale dostaję "val.style jest niezdefiniowany" w wygenerowanym przez ASP.NET JS ... – Simeon

+1

Mam to działa. Walidator miał rodzica z wyświetlaczem: brak; ustawić na nim, co przełamało funkcjonalność ValidatorEnable. – Simeon

+5

Pierwszy parametr powinien być sam walidatorem, a nie identyfikatorem weryfikatora. – Itison