2012-01-04 12 views
6

Tengo un cuadro de texto de contraseña y un cuadro de texto de contraseña de confirmación en el que uso un comparevalidator para asegurarme de que son iguales. Si no lo son, quiero que el usuario reciba un mensaje de error que dice que no coinciden. Sin embargo, no quiero que esto se muestre hasta que el usuario haga clic en un botón. Lo que está sucediendo actualmente es que cuando tabulo del primer cuadro de texto al segundo, recibo inmediatamente ese error.Evitar que comparevalidator muestre un error hasta que se haga clic en el botón

¿Cómo puedo evitar que aparezca este error hasta que haga clic en un botón?

Respuesta

4

Una forma muy sencilla de evitar esto sería para revertir la ControlToCompare y la ControlToValidate

<label>Password: <asp:TextBox ID="password" runat="server"></asp:TextBox></label><br/> 
<label>Confirm Password:<asp:TextBox ID="confirmPassword" runat="server"></asp:TextBox></label> 
<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="password" ControlToValidate="confirmPassword" ErrorMessage="Passwords do not match"></asp:CompareValidator> 

Mediante la inversión de estas propiedades la validación sólo debería ocurrir cuando pestaña de la caja de texto de confirmación de contraseña. (Esto supone que el usuario rellena el formulario de arriba hacia abajo y no de abajo hacia arriba, pero que lo hace de todos modos)

+0

Probablemente sea la mejor solución en este momento sin aplicar javascript. –

Cuestiones relacionadas