2010-04-23 17 views
6

Tengo un menú desplegable donde el usuario selecciona un País. Es un "campo" requerido.Habilitar/deshabilitar RequiredValidator en cliente/CustomValidator no encendido

Junto a él, hay un campo de texto llamado Estado. Si el usuario selecciona EE. UU., Entonces se requiere el estado del campo. Si el usuario selecciona, p. Suecia, el Estado no es necesario, ya que Suecia no tiene estados.

código Ejemplo:

<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" /> 

Mi pregunta es: ¿Cómo puedo hacer esta validación fuego CustomValidator cuando está vacío?

O ponga simplier: ¿Cómo puedo hacer que un RequiredValidator se active condicionalmente?

O más simple: ¿Cómo puedo habilitar/deshabilitar un RequiredValidator en el lado del cliente?

Respuesta

10

trate de hacer esto con javascript para activar y desactivar los validadores

ValidatorEnable(RequiredFieldValidatorId, false); 

Salida this question that I answered.

+0

Parecía esperanzado, pero me aparece "val.style no está definido" en ASP.NET generado JS ... – Simeon

+1

Lo tengo funcionando. El validador tenía un padre con pantalla: ninguno; establecerlo, lo que rompió la funcionalidad de ValidatorEnable. – Simeon

+5

Se supone que el primer parámetro es el validador en sí mismo, no el ID del validador. – Itison

Cuestiones relacionadas