asp.net - from - mvc partial javascript
Deshabilite los validadores de ASP.NET con JavaScript (6)
Además, en lugar de simplemente ocultar elementos, puede establecer la propiedad Visible en falso ...
whateverItem.Visible = false;
Esto hace que ese elemento simplemente no se represente en la página, lo que creo que deshabilita la validación. Alguien por favor corrígeme si estoy equivocado.
¿Alguien sabe cómo desactivar un validador de ASP.NET usando JavaScript? Estoy usando JavaScript style.display = ''none'' para deshabilitar partes de una página web. Sin embargo, estas partes deshabilitadas tienen validadores de asp.net que todavía están activados y necesito desactivarlos luego sin hacer un viaje de ida y vuelta al servidor. Gracias.
Aquí hay un artículo detallado sobre cómo controlar ASP.NET Validators desde JavaScript:
Esta es una vieja pregunta, pero sorprendió la siguiente respuesta que no se da. Lo implementé usando los comentarios anteriores y funciona sin problemas
# enable validation
document.getElementById(''<%=mytextbox.ClientID%>'').enabled = true
#disable validation
document.getElementById(''<%=mytextbox.ClientID%>'').enabled = false
Esta implementación puede ser algo complicado porque recuerde que si hay un error en javascript, el código se cerrará pero no obtendrá ningún error. Algunos puntos útiles
Asegúrate de que puedes establecer un punto de quiebre y solo puedes pasar por el código. Si no, reinicia el navegador.
Establezca el punto de ruptura al comienzo de la función donde coloca este código. Examine el código, si hay un error, el código se cerrará y no podrá ingresar al código.
En Firefox Firebug, puede escribir la declaración completa de javascript en la pestaña de la consola para ver qué devuelve su declaración. Lo más importante es que desee verificar valores no nulos de controles.
La mejor manera de hacer esto,
function doSomething()
{
var objvalidator = document.getElementById(''myValidatorClientID'');
objvalidator.enabled = false;
objvalidator.isvalid = true;
ValidatorUpdateDisplay(objvalidator);
}
Por el comentario anterior de Glenn G, usaría
myVal.enabled = false;
deshabilitar el validador en lugar de
ValidatorEnable(myVal, false);
Esto es lo que experimenté: ambos fragmentos funcionaron bien en mi servidor de 2003 con .NET Framework 2.0. Sin embargo, en el servidor 2008 R2 con .NET Framework 4.0 (no estoy seguro de cuál es la causa del problema), estaba obteniendo un comportamiento involuntario con "ValidatorEnable". Hay pestañas (controles de usuario) en mi página y cuando salía de la pestaña que llamaba "ValidatorEnable", estaba deshabilitando temporalmente los validadores en la siguiente pestaña (incluso aunque no se llamara al código para deshabilitarlos) hasta la próxima devolución de datos.
Usa este fragmento:
function doSomething()
{
var myVal = document.getElementById(''myValidatorClientID'');
ValidatorEnable(myVal, false);
}