2010-01-27 25 views
8

Quiero desactivar un RequiredFieldValidator de ASP.NET con JavaScript. En realidad estoy usando el siguiente código:ASP.NET Validation Summary: ¿Cómo deshabilitar el validador con JavaScript?

function doSomething() 
{ 
    var myVal = document.getElementById('myValidatorClientID'); 
    ValidatorEnable(myVal, false); 
} 

Esto desactiva el validador. Pero mi problema es que estoy usando un ValidationSummary. Y este resumen muestra el mensaje de validación, incluso si desactivo el validador.

Puede alguien decirme, cómo deshabilitar el validador en el ValidationSummary también?

+0

Por qué no eliminar el validador todos juntos? – ram

+0

Creo que Ram tiene razón ... tendrás que eliminarlo por completo. – Bryan

Respuesta

9

La solución es añadir una llamada a ValidationSummaryOnSubmit() después de deshabilitar el validador.

function doSomething() 
{ 
    var myVal = document.getElementById('myValidatorClientID'); 
    ValidatorEnable(myVal, false); 
    ValidationSummaryOnSubmit(); 
} 

puede encontrar un archivo llamado WebUIValidation.js en el equipo de desarrollo, que contiene el lado del cliente JavaScript funciones utilizadas por el proceso de validación de ASP.NET. Las funciones están bien nombradas y, en general, es bastante fácil averiguar qué hace cada una de ellas.

+0

Hola Jason! Gracias, lo intentaré mañana. :) – Torben

+0

Esto funciona, ¡gracias! – Torben

+0

Buen trabajo, Jason. Funciona de maravilla – koenmetsu

0

Tal vez usted podría intentar establecer el EnableClientScript=true; y ocultar el resumen estableciendo su estilo de visualización de CSS para ninguno cuando se deshabilita el validador. El resumen se representa como un div y se oculta cuando no se muestra ningún resumen.

+0

Esto no funcionará. EnableClientScript solo afecta la forma en que se representa la página ... después es inútil. Torben necesita desactivar el validador en el lado del cliente. – Bryan

0

Mire el código javascript generado para los validadores en el lado del cliente. Creo que tendrá que eliminar los tramos del validador de la matriz "Página_Validadores". La ID del elemento coincidirá con la ID del Validator.

Esto es solo una teoría. :) Háganos saber si funciona, porque estoy interesado.

0

ValidatorEnable() no funcionaba para mí, pero esto no hizo

document.getElementById("<%=RequiredFieldValidatorId.ClientID %>").enabled = true; 
Cuestiones relacionadas