Tengo un cuadro de texto al que le he asignado un CustomValidator que tiene ClientValidationFunction="txtcheck"
ASPX:
<asp:TextBox ID="txt1" MaxLength="10" CssClass="class1" Width="90%" runat="server"></asp:TextBox> <asp:CustomValidator runat="server" ID="valtxt1" ControlToValidate="txt1" ValidateEmptyText="true" ValidationGroup="Save" Display="Dynamic" ClientValidationFunction="txtcheck" Font-Italic="True"></asp:CustomValidator> <asp:Button ID="btnSave" Text="Save" CausesValidation="True" runat="server" ValidationGroup="Save" OnClientClick="show()" UseSubmitBehavior="false" />JavaScript:
El mensaje de alerta es obligatorio ya que es obligatorio.
function txtcheck(source, args) { Alert('incorrect value'); args.IsValid = false; } function show(){ var validated = Page_ClientValidate('valSave'); if (validated) { -- show some data. } }Al hacer clic en el botón Guardar, hago un Page_ClientValidate para verificar otros controles.
El problema es, al hacer clic en Guardar; txtcheck() se llama dos veces. Una vez a través de CustomValidator y otra cuando hago Page_ClientValidate. Debido a esto, el mensaje de Alerta también se muestra dos veces.
Por favor, guía sobre cómo llamar a txtcheck () solo una vez y mostrar alerta una vez.
Cualquier ayuda es muy apreciada.