2010-04-22 24 views
5

Tengo TextBox con RequiredFieldValidator en mi página. También tengo un enlace que llama a algunos javascript simples.Cómo deshabilitar RequiredFieldValidator en la secuencia de comandos

<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"); } 

Cuando el usuario escribe algo en el cuadro de texto y luego elimina ese texto y enfoca el siguiente control, el validador se dispara. Entonces el usuario puede usar un enlace que agrega texto usando javascript. El texto de TextBox1 ya no está vacío, pero RequiredFieldValidator sigue mostrando un mensaje de error. ¿Cómo prevenir eso?

Respuesta

0

El objetivo de los validadores es que se utilicen para la validación del lado del servidor y.

Si solo quiere validar por el lado del servidor, no use un validador y simplemente verifique que los valores sean válidos y reporte un error.

+0

Quiero que la validación se realice en el lado del cliente. Mire que DoSomething() agrega texto a TextBox1, pero ValidationError aún muestra un mensaje de error y confunde al usuario. – jlp

6

puede utilizar la función JavaScript ValidatorEnable

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

Yo recomendaría una CustomValidator aquí, ya que no quiere que el RequiredFieldValidator comportamiento normal. El método del cliente CustomValidator solo se ejecutará en la devolución de datos.

Cuestiones relacionadas