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

Control desde el Servidor de un Integer

Estas en el tema de Control desde el Servidor de un Integer en el foro de .NET en Foros del Web. Hola qtal, Tengo un formulario con un textbox. Tengo que validar que ese textbox sea, obligatoriamente, un Integer de 4 dígitos de longitud. Además, el ...
  #1 (permalink)  
Antiguo 29/09/2003, 11:28
 
Fecha de Ingreso: marzo-2002
Mensajes: 188
Antigüedad: 22 años, 2 meses
Puntos: 0
Control desde el Servidor de un Integer

Hola qtal,
Tengo un formulario con un textbox.
Tengo que validar que ese textbox sea, obligatoriamente, un Integer de 4 dígitos de longitud. Además, el textbox tiene la propiedad IsPostBack a True, es decir, al darle al tabulador se me tendría que disparar el control.
En caso de que la validación sea correcta (se trate de un integer de 4 dígitos), se tiene que ejecutar una query que rellena un datagrid.
Ahora, la validación me la hace mal y la consulta me peta si recibe, por ejemplo, un string. Me devuelve este error:

"Error converting data type nvarchar to numeric"

Como puedo hacer la validación?

PD: También me gustaría hacerla para los campos de fecha

Gracias y saludos
  #2 (permalink)  
Antiguo 29/09/2003, 12:54
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Hola.. lo que se me ocurre es que uses un textbox que solo permita tener una longitud de 4 caracteres y ademas le agreges un "Compare Validator" para que solo permita de tipo entero.. tu código podría quedar como ésto:

Cita:
<asp:TextBox id="TextBox2 " runat="server" MaxLength ="4"></asp:TextBox>
<asp:CompareValidator id="CompareValidator1" runat="server" ControlToValidate ="TextBox2" ErrorMessage="Escribe valores enteros"
Type ="Integer" operator="DataTypeCheck">
</asp:CompareValidator>
Saludos y suerte
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 30/09/2003, 05:50
 
Fecha de Ingreso: marzo-2002
Mensajes: 188
Antigüedad: 22 años, 2 meses
Puntos: 0
Hola,
Lo he resuleto en parte. Para los enteros no hay problema y funciona tal y como tu dices. Pero con las fechas no. No funciona porque no reconoce lo que le meto en el textbox como fecha.
Yo introduzco la fecha con el formato dd/mm/yyyy, pero él me la traduce a mm/dd/yyyy. Cuando le pongo fechas de, como máximo 12/mm/yyyy, me lo reconoce bien. Pero cuando le pongo una fecha del 13/mm/yyyy se piensa que ese 13 es el mes y me dice que la fecha no es correcta. Puedo hacer de alguna manera algún formateo del campo antes de que haga la validación?

He probado con lo siguiente pero no funciona:

// Dentro del procedimiento que llama el OnTextChanged

DateTime.ParseExact(tb_f_inicial.Text.Trim, "dd/MM/yyyy", System.Globalization.CultureInfo.CurrentCulture)

// cv1 es el Compare Vaidator Control

Me.cv1.Visible = True
Me.cv1.Validate()
If Me.cv1.IsValid = False Then
lb_error_dates.Text = "La Fecha es incorrecta"
Exit Sub
Else
lb_error_dates.Text = "La fecha es correcta"
End if



Gracias
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 15:44.