Foros del Web » Programando para Internet » ASP Clásico »

No consigo validar un formulario

Estas en el tema de No consigo validar un formulario en el foro de ASP Clásico en Foros del Web. Saludos: No consigo saber por qué no me valida bien los datos de un formulario. Estoy validando los datos desde otro fichero donde recojo el ...
  #1 (permalink)  
Antiguo 01/03/2005, 13:50
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 21 años
Puntos: 0
No consigo validar un formulario

Saludos:
No consigo saber por qué no me valida bien los datos de un formulario.
Estoy validando los datos desde otro fichero donde recojo el valor de los campos del formulario en variables.
En el fichero de validación uso una variable de control que se llama insertar que vale True, y luego por cada campo que no sea un número o esté vacio hago que insertar valga false y se muestre un mensaje de error.
Si despues de revisar todos los valores que recibe del formulario insertar vale true hago el update.
El caso es que le da igual que en un campo meta un caracter, lo deje vacio o escriba cualquier barbaridad. Siempre me actualiza los datos.

Les paso el código a ver si ustedes ven el error, porque yo no lo veo...;(

Código:
 
<!--Incluimos el fichero de constantes-->
<!--#INCLUDE file="../../../ADOVBS.asp"-->
<%
nombreusuario=request.QueryString("nombreusuario")
ruta=request.QueryString("empresanombrefiscal")
'Recogemos el valor de la variable identificadoroferta. Se usa para determinar el producto
' que vamos a modificar/ver
identificadoroferta=request.querystring("identificadoroferta")
nombreusuario=request.QueryString("nombreusuario")
empresanombrefiscal=request.QueryString("empresanombrefiscal")
referenciahotelcasa=request.QueryString("referenciahotelcasa")
tanohabitaciondoblebano=trim(Request.Querystring("tanohabitaciondoblebano"))
tanohabitaciondoblebanocomun=Trim(Request.Querystring("tanohabitaciondoblebanocomun"))
tanohabitaciondobleespecialbano=Trim(Request.Querystring("tanohabitaciondobleespecialbano"))
tanohabitacionindividualbano=Trim(Request.Querystring("tanohabitacionindividualbano"))
tanohabitacionindividualbanocomun=Trim(Request.Querystring("tanohabitacionindividualbanocomun"))
tanocena=Trim(Request.Querystring("tanocena"))
tanoapartamento=Trim(Request.Querystring("tanoapartamento"))
tanoduplex=Trim(Request.Querystring("tanoduplex"))
tanocasacompleta=Trim(Request.Querystring("tanocasacompleta"))
tanocamasupletoria=Trim(Request.Querystring("tanocamasupletoria"))
tanodesayuno=Trim(Request.Querystring("tanodesayuno"))
tanodesayunobuffet=Trim(Request.Querystring("tanodesayunobuffet"))
tanocomida=Trim(Request.Querystring("tanocomida")) 
'Abrimos la tabla tarifasturismo
set Conn= Server.CreateObject("ADODB.Connection")
Conn.ConnectionString = "DSN=clubviajesoferta.com.turofertas"
Conn.open
Set RS=Server.CreateObject("ADODB.Recordset")
RS.activeconnection=Conn 
RS.source="tarifasturismo"
RS.Locktype = adLockOptimistic
RS.CursorType = adOpenDinamic
RS.open
'Localizamos el registro a modificar. Hay que convertir a número "identificadoroferta" porque identificarproducto es 
'un campo autonumerico e identificadoroferta es una variable que contiene texto puesto que viene de un formulario
do while rs("referenciahotelcasa") <> referenciahotelcasa
 rs.movenext
loop
insertar=True
'Validamos los valores del formulario
if (tanohabitaciondoblebano <> "" and not isnumeric(tanohabitaciondoblebano)) then
 response.write("<div align=""center""><font face= ""Arial, Helvetica, sans-serif"" size=""2"" color=""#FB4C50"">" & "El campo <em>""Habitación doble con baño"" en la columna ""Todo el año""</em> no es un número</font></div>")
 insertar=False
end if
if tanohabitaciondoblebanocomun <> "" and not isnumeric(tanohabitaciondoblebanocomun) then
 response.write("<div align=""center""><font face= ""Arial, Helvetica, sans-serif"" size=""2"" color=""#FB4C50"">" & "El campo <em>""Habitación doble con baño común"" en la columna ""Todo el año""</em> no es un número</font></div>")
 insertar=False
end if
if tanohabitaciondobleespecialbano <> "" and not isnumeric(tanohabitaciondobleespecialbano) then
 response.write("<div align=""center""><font face= ""Arial, Helvetica, sans-serif"" size=""2"" color=""#FB4C50"">" & "El campo <em>""Habitación doble especial con baño"" en la columna ""Todo el año""</em> no es un número</font></div>")
 insertar=False
end if
if tanohabitacionindividualbano <> "" and not isnumeric(tanohabitacionindividualbano) then
 response.write("<div align=""center""><font face= ""Arial, Helvetica, sans-serif"" size=""2"" color=""#FB4C50"">" & "El campo <em>""Habitación individual con baño"" en la columna ""Todo el año""</em> no es un número</font></div>")
 insertar=False
end if
if tanohabitacionindividualbanocomun <> "" and not isnumeric(tanohabitacionindividualbanocomun) then
 response.write("<div align=""center""><font face= ""Arial, Helvetica, sans-serif"" size=""2"" color=""#FB4C50"">" & "El campo <em>""Habitación individual con baño común"" en la columna ""Todo el año""</em> no es un número</font></div>")
 insertar=False
end if
if tanocena <> "" and not isnumeric(tanocena) then
 response.write("<div align=""center""><font face= ""Arial, Helvetica, sans-serif"" size=""2"" color=""#FB4C50"">" & "El campo <em>""Cena"" en la columna ""Todo el año""</em> no es un número</font></div>")
 insertar=False
end if
if tanoapartamento <> "" and not isnumeric(tanoapartamento) then
 response.write("<div align=""center""><font face= ""Arial, Helvetica, sans-serif"" size=""2"" color=""#FB4C50"">" & "El campo <em>""Apartamento"" en la columna ""Todo el año""</em> no es un número</font></div>")
 insertar=False
end if
if tanoduplex <> "" and not isnumeric(tanoduplex) then
 response.write("<div align=""center""><font face= ""Arial, Helvetica, sans-serif"" size=""2"" color=""#FB4C50"">" & "El campo <em>""Duplex"" en la columna ""Todo el año""</em> no es un número</font></div>")
 insertar=False
end if
if tanocasacompleta <> "" and not isnumeric(tanocasacompleta) then
 response.write("<div align=""center""><font face= ""Arial, Helvetica, sans-serif"" size=""2"" color=""#FB4C50"">" & "El campo <em>""Casa completa"" en la columna ""Todo el año""</em> no es un número</font></div>")
 insertar=False
end if
if tanocamasupletoria <> "" and not isnumeric(tanocamasupletoria) then
 response.write("<div align=""center""><font face= ""Arial, Helvetica, sans-serif"" size=""2"" color=""#FB4C50"">" & "El campo <em>""Cama supletoria"" en la columna ""Todo el año""</em> no es un número</font></div>")
 insertar=False
end if
if tanodesayuno <> "" and not isnumeric(tanodesayuno) then
 response.write("<div align=""center""><font face= ""Arial, Helvetica, sans-serif"" size=""2"" color=""#FB4C50"">" & "El campo <em>""Desayuno"" en la columna ""Todo el año""</em> no es un número</font></div>")
 insertar=False
end if
if tanodesayunobuffet <> "" and not isnumeric(tanodesayunobuffet) then
 response.write("<div align=""center""><font face= ""Arial, Helvetica, sans-serif"" size=""2"" color=""#FB4C50"">" & "El campo <em>""Desayuno buffet"" en la columna ""Todo el año""</em> no es un número</font></div>")
 insertar=False
end if
if tanocomida <> "" and not isnumeric(tanocomida) then
 response.write("<div align=""center""><font face= ""Arial, Helvetica, sans-serif"" size=""2"" color=""#FB4C50"">" & "El campo <em>""Comida"" en la columna ""Todo el año""</em> no es un número</font></div>")
 insertar=False
end if
if insertar=True then
 For each Parametro in request.Form
  response.write("<br>Campo vale: " & parametro & ", Contenido:" & request.form(parametro) & ", Insertar: " & "<strong>" &  insertar & "</strong>")
  rs(parametro)=request.form(parametro)
 Next
 rs.update
 Response.write "Las tarifas se han actualizado correctamente. Proceso de modificación terminado"
end if
%>
<body>
</body>
</html>
Gracias por todo
  #2 (permalink)  
Antiguo 01/03/2005, 14:15
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
A simple vista un campo puede ser numerico o puede ser un string cierto?
la condicion entonces deberia ser:

1.- Que no este vacio
2.- Que sea numerico

Pero supongo que no todos los campos tienen que ser numericos, por lo tanto el error es de logica

Código:
Si no esta vacio entonces
  Si debe ser numerico
      Si es numerico
         OK
      Si no es numerico
        A freir esparragos
      Fin Si
  Si no debe ser numerico
    OK
  Fin Si
Si NO(no esta vacio)
  A freir esparragos
Fin Si

Algo asi
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 01/03/2005, 15:19
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 21 años, 9 meses
Puntos: 16
amigo. no sea canalla y coloquele underscore a los nombres para facilitar la lectura

codigos asi "tanohabitaciondoblebanocomun" son una pesadilla para las mantenciones.

noseentiendenadadeloquedice!!!!
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 22:18.