2011-03-22 24 views
17

Estoy usando un validador personalizado para llamar a una función de JavaScript para la validación. Mi problema es que necesito poder cambiar el mensaje de error dinámicamente. Aquí está el código:Mensaje de error dinámico para el cliente del validador personalizado

  <asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="fcnValid1" 
       ErrorMessage="" Display="None" ValidateEmptyText="True"> 
      </asp:CustomValidator> 

<asp:ValidationSummary ID="ValidationSummary1" runat="server" DisplayMode="List" ShowMessageBox="True" ShowSummary="False" /> 

    function fcnValid(source, args) { 
     var Status = document.getElementById("<%=ddlStatus.ClientID%>").value 

     if (Status == "In Underwriting") { 
      if (document.getElementById("<%=txtRequestor.ClientID%>").value == "") { 
       //sender.errormessage = "Test1" 
       //sender.innerHTML = "Test2"; 
       document.getElementById("<%=txtRequestor.ClientID%>").focus(); 
       args.IsValid = false; 
      } 
     } 
    } 

Respuesta

15

En su validación Javascript se puede cambiar el mensaje accediendo al mismo a través de la source:

source.errormessage = "custom message here"; 

encontrado esta pregunta en el, así que debería dar más información, así:

How can I rewrite the ErrorMessage for a CustomValidator control on the client?

+0

Gracias, esto es lo que terminó trabajando: – Mike

+3

source.errormessage = "* No es un teléfono UK #" – Mike

+0

no funciona para mí, 'source.errormessage = "mensaje personalizado aquí";' funciona bien –

1
source.errormessage = "custom message here"; 
9

así source.errormessage no funcionó correctamente alguna vez

lo que sugiero es usar source.innerText = "mensaje de error";

+0

Me gustaría saber por qué 'innerText' funciona en lugar de' errormessage'. ¿Tiene que ver con la versión .net? – Esen

Cuestiones relacionadas