Foros del Web » Programando para Internet » Javascript »

Orden en que ocurre la validación?

Estas en el tema de Orden en que ocurre la validación? en el foro de Javascript en Foros del Web. Saludos a todos. Tengo la siguiente duda relacionada con el tema de las validaciones de los formularios. Para mi es conocido que Javascript realiza las ...
  #1 (permalink)  
Antiguo 24/02/2010, 07:24
 
Fecha de Ingreso: agosto-2005
Mensajes: 152
Antigüedad: 18 años, 8 meses
Puntos: 0
Pregunta Orden en que ocurre la validación?

Saludos a todos.
Tengo la siguiente duda relacionada con el tema de las validaciones de los formularios. Para mi es conocido que Javascript realiza las validacione del lado del cliente, mientras que si se valida con php (el cual se ejecuta del lado del servidor) hay que obligatoriamente enviar el formulario para que se ejecute dicho proceso.
Tengo un formulario en html donde en el atributo action de la etiqueta form tengo puesto el nombre de una página php que entre otras cosas valida que no se haya envíado ningún campo vacio al formulario etc, etc. Pero quisiera validar otras cosas que como por ejemplo que solamente se escriban números en determinados controles del form, etc, eso lo he hecho ya con javascript con una función, la cual cargo en el evento onclick del botón submit del formulario, pero no se ejecuta, cuando le doy enviar al formulario va para la página php.
Agregué el evento onsubmit de la etiqueta form el nombre de la función y sucede lo mismo.
Me pregunto si las validaciones tienen un orden de ejecución, si hay prevalencia de las mismas de el lado del servidor y cuál es la mejor práctica para validar, sí usando código del lado del cliente o del lado del servidor o si es posible emplear ambos métodos?.
Muchas Gracias.
  #2 (permalink)  
Antiguo 24/02/2010, 07:33
 
Fecha de Ingreso: marzo-2009
Mensajes: 509
Antigüedad: 15 años, 1 mes
Puntos: 17
Respuesta: Orden en que ocurre la validación?

Hola, primero mira lo de javascript, tienes que tener algo así:

Código PHP:
<form action="pagina.php" name "nombre" method="post"  onSubmit=" return funcJS()";> 
a mi me dio problemas y me pasaba como a tí y es que no se porque necesitaba un espacio entre " y el return de la función javascript, mira a ver... pero ni idea de porque, la cosa es que con espacio funciona, sin espacio no.

Saludos!
  #3 (permalink)  
Antiguo 24/02/2010, 07:34
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: Orden en que ocurre la validación?

primero se ejecutan las validaciones en javascript y luego si se envia se realizan las validaciones que tengas en el php.
si tienes un botton on click que llame a una funcion javascript al final de la funcion cuando este todo correcto le pones document.formulario.submit("pagina.php"); y te envia el formulario ya validado al archivo php que tienes
  #4 (permalink)  
Antiguo 24/02/2010, 07:53
 
Fecha de Ingreso: agosto-2005
Mensajes: 152
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: Orden en que ocurre la validación?

Muchas gracias por tu respuesta.
Pues mira probé y nada. Este es un pequeño pedazo del código:
[html]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Adicionar nuevo cliente</title>
<link href="css/forms.css" rel="stylesheet" type="text/css" />
<script>
function valida_envia(){
//valido que solamente se escriban números en este control
co_id = document.datos.co_id.value
co_id = validarEntero(co_id)
document.datos.co_id.value=co_id
if (co_id==""){
alert("Solamente se admiten números.")
document.datos.co_id.focus()
return 0;
}
</script>
</head>
<body>
<div id="nifty">
<!-- el formulario -->
<form name="datos" action ="add_datos.php" method = "post" onsubmit=" return valida_envia()" class="formLogin">
<fieldset>
<label>Código:</label>
<input id="empresa" type="text" name="co_id" size="6" title="Código de la Empresa"/>
[html]
  #5 (permalink)  
Antiguo 24/02/2010, 08:00
 
Fecha de Ingreso: marzo-2009
Mensajes: 509
Antigüedad: 15 años, 1 mes
Puntos: 17
Respuesta: Orden en que ocurre la validación?

umm, no se, quizá return validaenvia(); no tienes el ; no se si es importante.

De todos modos, has comprobado que entra a la función? por ejemplo, poniendo un alert en la primera línea, es por si el error está en otro sitio...

Saludos!
  #6 (permalink)  
Antiguo 24/02/2010, 08:04
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: Orden en que ocurre la validación?

en el script te falta una llave de cierre.

prueba como te digo yo algo asi
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Adicionar nuevo cliente</title>
<link href="css/forms.css" rel="stylesheet" type="text/css" />


<script>
function valida_envia(){
//valido que solamente se escriban números en este control
co_id = document.datos.co_id.value
co_id = validarEntero(co_id)
document.datos.co_id.value=co_id
if (co_id==""){
alert("Solamente se admiten números.")
document.datos.co_id.focus()
return 0;
}
else
	document.datos.submit('pagina.php');
	
}
</script>



</head>
<body>
<div id="nifty">
<!-- el formulario -->
<form name="datos" action ="add_datos.php" method = "post" class="formLogin">
<fieldset>
<label>Código:</label>
<input id="empresa" type="text" name="co_id" size="6" title="Código de la Empresa"/>
<input type="button" name="boton" value="Enviar" onclick="return valida_envia()" />
</fieldset></form>
</div></body></html> 
  #7 (permalink)  
Antiguo 24/02/2010, 08:45
 
Fecha de Ingreso: agosto-2005
Mensajes: 152
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: Orden en que ocurre la validación?

Gracias por tu respuesta.
Pero no funciona, siempre va a la página php, sin tener en cuanta el código javascript.
  #8 (permalink)  
Antiguo 24/02/2010, 10:03
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Orden en que ocurre la validación?

Esto ya es cosa de javascript, pero, donde defines validarEntero()?
  #9 (permalink)  
Antiguo 24/02/2010, 10:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Tema movido desde PHP a Javascript

Etiquetas: orden, validar
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 09:55.