Pregunta

Tengo una tabla con dos cuadros de texto. Cada cuadro de texto tiene un validador requerido para que los datos de inserción de usuario en el cuadro de texto.

También tiene una tabla de sesión de privilegios que el usuario confirme.

Cuando envío el botón de inicio de sesión, los validadores de la primera tabla aparecen y prevenir al usuario de inicio de sesión. He cambiado la propiedad de los botones de inicio de sesión (Causas de validación) a falso, pero los validadores que he añadido en el didn mesa de entrada 't aparecen.

Así que por favor cómo puedo solucionar este problema.

¿Fue útil?

Solución

creo que se puede resolver su problema mediante el uso de ValidationGroups . He aquí un extracto de una página con una explicación más larga para usted:

Esta página tiene dos grupos - un “Grupo 1” y un “grupo 2” de validadores. Hay, pues, dos botones de la página - cuando se hace clic en el botón 1, el primer grupo de validadores se disparará. Cuando se hace clic en botón 2, el segundo grupo de validadores se disparará . Devolución de datos será bloqueado del lado del cliente por defecto si falla la validación:

<html>
<body>
     <form runat=“server”>
          <asp:textbox id=“TextBox1” runat=“server”/>
          <asp:requiredfieldvalidator ValidationGroup=“Group1”
                                                       ErrorText=“Need to Fill in Value!”
                                                       ControlToValidate=“TextBox1”
                                                       runat=“server”/>
            <asp:textbox id=“TextBox2” runat=“server”/>
            <asp:requiredfieldvalidator ValidationGroup=“Group2”
                                                         ErrorText=“Need to Fill in Value!”
                                                         ControlToValidate=“TextBox2”
                                                         runat=“server”/>
            <asp:button text=“Group1” ValidationGroup=“Group1” runat=“server”/>
            <asp:button text=“Group2” ValidationGroup=“Group2” runat=“server”/>
     </form>
</body>
</html>

Otros consejos

Lo que hay que usar es un atributo ValidationGroup tanto en los botones y las validaciones. Esto permite que ciertas acciones sólo para hacer cumplir un subconjunto de validadores en la página cuando se hace clic en el botón.

<asp:TextBox ID="txtA" runat="server" />
<asp:RequiredFieldValidator ID="rfvA" runat="server" ErrorMessage="Message." ControlToValidate="txtA" ValidationGroup="A" />
<asp:Button ID="btnA" runat="server" Text="A" ValidationGroup="A" />

<asp:TextBox ID="txtB" runat="server" />
<asp:RequiredFieldValidator ID="rfvB" runat="server" ErrorMessage="Message." ControlToValidate="txtA" ValidationGroup="B" />
<asp:Button ID="btnB" runat="server" Text="B" ValidationGroup="B" />

Ahora, cuando se hace clic en btnA, un viaje de solo comprobar si es válida rfvA (comprobación txtA) y cuando se hace clic en BTNB, sólo se comprobará si rfvB es válido. Y sí se puede tener múltiples controles de validación en el mismo grupo de validación.

Cuando se establece la propiedad CausesValidation a falso, que estaba desactivando todas las acciones de validación para el botón, no sólo los que no quería sucesivamente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top