Foros del Web » Programando para Internet » ASPX (.net) »

Gran problema con controles de validación

Estas en el tema de Gran problema con controles de validación en el foro de ASPX (.net) en Foros del Web. Hola chic@s, estroy probando unas cosas muy muy sencillas de validaciones, en las cuales tengo un RadioButtonList. Debajo del control del Radio, coloqué un RangeValidator ...
  #1 (permalink)  
Antiguo 04/02/2006, 20:05
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
Gran problema con controles de validación

Hola chic@s, estroy probando unas cosas muy muy sencillas de validaciones, en las cuales tengo un RadioButtonList.
Debajo del control del Radio, coloqué un RangeValidator que (supuestamente) permitiría ingresos del 1 al 4 dentro de la Lista.

Esto funciona bárbaro si hacemos todo "como Dios manda", el problema está cuando por la URL (en el FORM uso el método GET, simplemente para probar) cambio el valor de la variable "radio" y le doy a ENTER. Me llevé una sorpresa cuando vi que el IsValid me dejó pasar el valor como si fuera válido, incluso si cambio su valor entero por una cadena también lo deja pasar .

Les adjunto el código:

Código:
<script runat="server">
void Page_Load(Object Src, EventArgs E)
{

}

void revisar(Object Src, EventArgs E)
{
	if(Page.IsValid) { Response.Write("Valido. Radio: "+radio.SelectedValue); }
	else { Response.Write("Invalido"); }
}
</script>

<html>
<body>
<form method="get" runat="server">
<asp:RadioButtonList runat="server" ID="radio">
	<asp:ListItem Text="Item1" Value="1" />
	<asp:ListItem Text="Item2" Value="2" />
	<asp:ListItem Text="Item3" Value="3" />
	<asp:ListItem Text="Item4" Value="4" />
</asp:RadioButtonList>
<asp:RangeValidator ID="radioValida" ControlToValidate="radio" Type="Integer" MinimumValue="1" MaximumValue="4" 
Display="Dynamic" ErrorMessage="Error" />
<br />

<asp:Button runat="server" ID="boton" OnCommand="revisar" Text="Enviar" />
</form>
</body>
</html>
En fin, quedé sorprendido.
Se agradece de antemano cualquier ayuda.
Saludos.
__________________
R4DS en español | R4DS en inglés

Última edición por zaqpz; 06/02/2006 a las 03:36
  #2 (permalink)  
Antiguo 04/02/2006, 21:44
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
Bueno, decidí pasar a un intento mas "personalizado" e intenté crear un CustomValidator en el cual compruebo el valor seleccionado de los radios y le pongo IsValid o no según corresponda. Pero tampoco funciona

Código:

void validar(Object Src, ServerValidateEventArgs E)
{
	int valor=int.Parse(E.Value);
	
	if(valor>=1 && valor<=4) E.IsValid=true;
	else E.IsValid=false;
}

<asp:CustomValidator ID="radioVal" runat="server" ErrorMessage="Invalido" 
ControlToValidate="radio" OnServerValidate="validar" />
Le sigo mandando cadenas y a pesar del explícito if que puse me la sigue tomando como válida.

No se que hacer.
Saludos.
__________________
R4DS en español | R4DS en inglés
  #3 (permalink)  
Antiguo 05/02/2006, 23:33
 
Fecha de Ingreso: febrero-2002
Mensajes: 52
Antigüedad: 22 años, 2 meses
Puntos: 0
Estás usando ASP.NET 1.1 o 2.0?
__________________
Edgardo Rossetto | Mendoza, Argentina
Blog: http://edgardorossetto.net
  #4 (permalink)  
Antiguo 06/02/2006, 03:35
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
Hola, gracias por contestar, estoy usando la versión 2.0, y la verdad que este problema me sigue llamando muchísimo la atención.
Lo único que creo que me falta probar para intentar validar los RadioButtonList es recibir los valores con Request.QueryString("radio"), pero aún así me asombra bastante que las dos formas que postié antes no funcionen.
Saludos.
__________________
R4DS en español | R4DS en inglés
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 02:07.