Foros del Web » Programación para mayores de 30 ;) » .NET »

Cambiar estilo del textBox al validar

Estas en el tema de Cambiar estilo del textBox al validar en el foro de .NET en Foros del Web. Buenas a todos. Lo que estoy intentando es que en vez de que me aparezca un mensaje cuando un campo de texto se valide erroneamente, ...
  #1 (permalink)  
Antiguo 01/04/2005, 03:34
Avatar de avsurdo  
Fecha de Ingreso: mayo-2004
Ubicación: Sevilla
Mensajes: 84
Antigüedad: 20 años
Puntos: 0
Pregunta Cambiar estilo del textBox al validar

Buenas a todos.
Lo que estoy intentando es que en vez de que me aparezca un mensaje cuando un campo de texto se valide erroneamente, cambie el estilo (cssclass) de este.

¿Alguien lo ha hecho ya o tiene alguna idea de como hacerlo?

Yo lo estoy intentando con un customValidator, ademas me gustaría que la validación la realizara tanto en cliente como en servidor.

Muchas Gracias.
__________________
:stress: De verdad de la buena
  #2 (permalink)  
Antiguo 01/04/2005, 04:07
 
Fecha de Ingreso: junio-2004
Mensajes: 91
Antigüedad: 19 años, 11 meses
Puntos: 0
kiyo breva cuando valides va al servidor??

Si es asi solo tiens que cambiarle el estilo asignado. Imagino que tendras una hoja de estilos asignada al WebForm, pues en dixa hoja de estilo te creas 2 estilos para el textbox (TextBox y TextBoxError) y se lo cambias cuando kieras..

Antes de validar el estilo ponte que sea :

txt1.CssClass = "TextBox";

--> si da error al validar, en el servidor le haces..

txt1.CssClass = "TextBoxError";


Si no va al servidor prueba cambiarle las propiedades a través de javascript

Un saludo, soy el campeon de tu clase..

Última edición por josemari107; 01/04/2005 a las 04:08
  #3 (permalink)  
Antiguo 01/04/2005, 04:33
Avatar de avsurdo  
Fecha de Ingreso: mayo-2004
Ubicación: Sevilla
Mensajes: 84
Antigüedad: 20 años
Puntos: 0
Vale churita, muy bien, pero no me has dicho nada nuevo, eso sigue sin validar en el cliente, que es lo que verdaderamente quiero.

Aunque ya estoy desarrollando una solución.
__________________
:stress: De verdad de la buena
  #4 (permalink)  
Antiguo 01/04/2005, 04:51
 
Fecha de Ingreso: junio-2004
Mensajes: 91
Antigüedad: 19 años, 11 meses
Puntos: 0
Pero si kieres que se valide en el cliente hazlo con javascript
  #5 (permalink)  
Antiguo 01/04/2005, 06:38
Avatar de avsurdo  
Fecha de Ingreso: mayo-2004
Ubicación: Sevilla
Mensajes: 84
Antigüedad: 20 años
Puntos: 0
Illo Jose Mari, hoy estas que te sales, has tenio que pensar mucho eso. Porque yo lo sabía desde el principio. Lo que quiero es creo un control que lo haga el solito todo, y eso no es tan fácil como lo pintas.
__________________
:stress: De verdad de la buena
  #6 (permalink)  
Antiguo 01/04/2005, 17:53
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Pues podrías hacer las modificaciones a los scripts que trae .NET para hacer hacer esas validaciones.

En mi máquina está en la siguiente ruta:
C:\Inetpub\wwwroot\aspnet_client\system_web\1_1_43 22\webuivalidation.js

Lo que también puedes hacer es utilizar los controles de validación compatibles com DOM 1, que están disponibles en MSDN (también tienes que modificar el script para lograr lo que quieres).
http://msdn.microsoft.com/library/sp...rolsamples.asp

Puedes usar las propiedades style o className de los elementos HTML, yo le hice algunas moficicaciones a los controles DOM que te menciono, este es un ejemplo:

Código:
function RequiredFieldValidatorEvaluateIsValid(val) {
	value = (ValidatorTrim(ValidatorGetValue(val.getAttribute("controltovalidate"))) != ValidatorTrim(val.getAttribute("initialvalue")));
	if (!value){
		document.getElementById(val.getAttribute("controltovalidate")).className = 'required';
//document.getElementById(val.getAttribute("controltovalidate")).style.backgroundColor = 'yellow';
	}
    return value;
}

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño

Última edición por xknown; 01/04/2005 a las 17:55
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:28.