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

como puedo validar un formulario con asp y js

Estas en el tema de como puedo validar un formulario con asp y js en el foro de ASP Clásico en Foros del Web. Hola a todos, estoy en un problema de como poder validar un formulario, he estado buscando en internet todo acerca de eso, pero los ejemplos ...
  #1 (permalink)  
Antiguo 10/07/2005, 15:35
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 19 años, 3 meses
Puntos: 0
Pregunta como puedo validar un formulario con asp y js

Hola a todos, estoy en un problema de como poder validar un formulario, he estado buscando en internet todo acerca de eso, pero los ejemplos que he encontrado son muy diciles y no puedo entenderlos claramente, lo que quiero es que me ayuden a poder entender lçlo mas básico de validacion de formularios en asp en convinacion con javascript;
en resumen: quiero que javascript me muestre en una ventana de dialogo, y una ves rellenado correctamente, muestre todos los datos en una lista.
los errores que he tenido al rellenar un formulario, el formulario podria consistir en :
nombre: -------------(type="text")
apellidos: ------------(type="text")
pais: ----------------(type="radio")


les voy a estar muy agradecido si pueden ayudarme a entebder de una buena ves este tema... :D
  #2 (permalink)  
Antiguo 10/07/2005, 17:41
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
para impedir mediante javascript que queden campos vacios puedes hacerlo con este script:
Código:
<script language="Javascript"> 
function verificarFormu(cualo)
{
for(m=0;m<cualo.length;m++)
  {
  if(cualo.elements[m].value=="")
    {
    alert("Debe poner un " +       cualo.elements[m].name.substring(0,cualo.elements[m].name.length))
    cualo.elements[m].focus()
    return false
    break;
    }
   }
}
</script>
y en la etiqueta form poner onSubmit="return verificarFormu(this)".... con eso saldra un alert cada vez que un campo este vacio señalando cual campo lo esta (con su nombre).... bueno espero que sea de ayuda saludos y suerte
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #3 (permalink)  
Antiguo 10/07/2005, 18:31
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 2 meses
Puntos: 9
Puedes aplicar lo que el código que te dijo Metallick, de todas formas, las validaciones para mi gusto siempre deben hacerse en ASP. O mejor dicho, ninguna validación de un formulario debe estar sentada en javascript únicamente. Los formularios es una puerta de entrada a nuestra aplicación para usuarios maliciosos, por lo que está en juego más que una simple verificación de si es número en lugar de texto, o si sobrepaso el limite de caracteres, o si, como dijo Metallick, quedan los campos vacíos. Está en juego la integridad del sitio, por lo que una validación no puede estar fundamentada en código javascript únicamente.
Lo que si se puede lograr mediante javascript puede ser mensajes de error especificos para cada campo en donde el usuario se equivocó al ingresar los datos, pero la validación seguiría siendo en el servidor.
Para saber más acerca de lo que te dije de los formularios y el peligro que puede llegar a ser sin una validación adecuada, te recomiendo que te bajes el manual de SQL INJECTION que tiene Trasgukabi en su firma. Está completísimo, y vas a poder entender mejor a lo que me refiero.
Saludos!.
__________________
Add, never Remove
  #4 (permalink)  
Antiguo 11/07/2005, 06:22
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
concuerdo con usted distinguido amigo marianano.... yo uso ese código en conjunto con esta función (para evitar SQLIJECTION)
Código:
<%
Dim str

function limpiar(strlimpiar,modolimpiar)

	'modolimpiar = 0 prepara strlimpiar para insert 
	'modolimpiar = 1 Prepara strlimpiar para insert evitando, ademas, la entrada de HTML
	'modolimpiar = 2 Prepara strlimpiar para un login y evita sql injection
	
	str = trim(strlimpiar)
	
	Select Case modolimpiar
    Case 0
		str = replace(str,"'","''")
		str = replace(str,"<","&lt;")
		str = replace(str,">","&gt;")
	Case 1
		str = replace(str,"'","''")
		str = replace(str,"<","&lt;")
		str = replace(str,">","&gt;")
		str = replace(str,chr(13),"<br>")
	Case 2
        str = lcase(str)
        str = replace(str,"=","")
        str = replace(str,"'","")
        str = replace(str,"""""","")
        str = replace(str," or ","")
        str = replace(str," and ","")
        str = replace(str,"(","")
        str = replace(str,")","")
        str = replace(str,"<","[")
        str = replace(str,">","]")
        str = replace(str,"having ","")
        str = replace(str,"group by","")
        str = replace(str,"union select sum","")
        str = replace(str,"union select min","")
        str = replace(str,"--","")
        str = replace(str,"select ","")
        str = replace(str,"insert ","")
        str = replace(str,"update ","")
        str = replace(str,"delete ","")
        str = replace(str,"drop ","")
        str = replace(str,"-shutdown","")
    Case Else 
        str = strlimpiar
	End Select

	limpiar = str

end function
%>
ahora con ASP no sabria como hacer para que se me ingrese un máximo de caracteres o solo numéricos... como puedo validar eso???? saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #5 (permalink)  
Antiguo 11/07/2005, 07:15
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 2 meses
Puntos: 9
Yo utilizo esta función propia que hice, también la puse en la librería de clases, no es dificil de entender como funciona.

function isIt_Valid(Var, len_allowed, numbers_allowed, text_allowed)

Dim intruders_symbols
Dim valid_state

intruders_symbols = array("insert","select","drop","database","'","""" ,"*","--","-","delete","update","true","<",">")
Var = Lcase(Var)

valid_state = true

For i=0 To UBound(Intruders_symbols)
If Instr(Var, Intruders_symbols(i)) > 0 then
valid_state = "intruder"
isIt_Valid = valid_state
exit function
end if
next

if numbers_allowed = true And text_allowed = true then
For i = 1 To Len(Var)
If(Mid(Var, i, 1) < "a" Or Mid(Var, i, 1) > "z") And _
(Mid(Var, i, 1) < "0" Or Mid(Var, i, 1) > "9") then
valid_state = false
isIt_Valid = valid_state
exit function
End If
next

elseif numbers_allowed = true And text_allowed = false then
For i = 1 To Len(Var)
If(Mid(Var, i, 1) < "0" Or Mid(Var, i, 1) > "9") then
valid_state = false
isIt_Valid = valid_state
exit function
end if
next

elseif numbers_allowed = false And text_allowed = true then
For i = 1 To Len(Var)
If(Mid(Var, i, 1) < "a" Or Mid(Var, i, 1) > "z") then
valid_state = false
isIt_Valid = valid_state
exit function
end if
Next
end if

if Len(Var) > len_allowed OR Var = "" then
valid_state = false
isIt_Valid = valid_state
exit function
end if

isIt_Valid = valid_state

end function

A esa función fijate que le pasas 4 argumentos. El argumento "Var" es el campo que querés validar. El argumento "len_allowed" es el número máximo de caracteres que puede tener el campo. El tercer argumnento, "numbers_allowed", le tenés que pasar un valor boleano. Si ese campo puede aceptar números, entonces le pasas true, sino le pasas false. Lo mismo pasa con el último argumento, text_allowed.
La función devuelve un boleano si es valido el campo, de acuerdo a lo que le has pasado como argumentos, entonces te devuelve "TRUE", sino te devuelve "FALSE".
Por ejemplo, si llamamos así a la función:

isIt_Valid("Racing",10,false,true)... nos arroja TRUE
isIt_Valid("Racing",10,true,false)... nos arroja FALSE

ESpero que te sirva de algo.
Saludos!.
__________________
Add, never Remove
  #6 (permalink)  
Antiguo 11/07/2005, 07:30
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
gracias mariano voy a estudiarlo algo mas deteniadamente... saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
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 01:21.