Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Validacion en cliente y servidor (duda)

Estas en el tema de Validacion en cliente y servidor (duda) en el foro de Frameworks JS en Foros del Web. Holas.. bueno despues de estudiar el tema he decidido validar los datos de entrada de un formulario, tanto en el cliente como en el servidor, ...
  #1 (permalink)  
Antiguo 01/09/2007, 14:46
 
Fecha de Ingreso: febrero-2007
Mensajes: 70
Antigüedad: 17 años, 2 meses
Puntos: 1
Validacion en cliente y servidor (duda)

Holas.. bueno despues de estudiar el tema he decidido validar los datos de entrada de un formulario, tanto en el cliente como en el servidor, por eficiencia, no recargar el servidort con solicitudes erroneas y ademas asegurarme que no me van a pasar gatos por liebres con la validación js y asegurarme con php una vez no existan campos en blanco y toda esa vaina....

como lo hago.. bueno he aqui la duda... php se pero js soy medio nulo pero quiero aprender... el formulario lleva un boton que se ve asi:
------------------------------------------------------------------------------------------------
<div>
<button id="Enviar" onClick="validarformulario()" type="button">Enviar Formulario</button>

</div>
------------------------------------------------------------------------------------------------

validaformulario() es uan funcion js que hace eso, valida el formulario y si tiene algo que no es valido, muestra en pantalla un error indicandole al usuario lo que tiene que hacer...

si el formulario es valido al hacer clic, muestra un mensaje avisando que se esta enviando al servidor la info y la misma funcion validaformulario() atraves de metodo post envia los datos para ser verificados e ingresados por ingresa.php, que los toma los vuelve a validar y los almacena en la base de datos si son validos y si no envia un mensaje de error...



no he tenido problema con esto pero me salto una duda de ignorante no mas... se supone que valido en el server por seguridad y tambien para que si el cliente no tiene js se validen de todas formas los datos... pero aca esta mi duda.. he buscado y mucha gente lo hace como lo estoy haciendo yo... pero si no tiene java script el cliente segun yo, no deberia poder correr la funcion validaformulario() por lo tanto tampoco hace la validacion php y menos ingresa los datos ya que la llamada a ingresa.php se hace dentro del codigo js... es asi o tengo un error de conceptos??????

en caso que sea asi como lo hago para validar en los dos de forma correcta???



de antemano gracias y saludos
  #2 (permalink)  
Antiguo 04/09/2007, 08:36
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Re: Validacion en cliente y servidor (duda)

loading..............


Efectivamente es así, porque haces una llamada ajax al servidor para validar, pero el concepto de VALIDAR POR SERVIDOR, no se refiere en sí a validar con javascript consultando en el servidor, sinó validar al momento de hacer el submit a tu pagina.php, validar los datos que recibes.

Repito... si validas con ajax consultando al servidor, sigue siendo una validacion de CLIENTE.


connection closed.
__________________

Maborak Technologies
  #3 (permalink)  
Antiguo 07/09/2007, 23:02
 
Fecha de Ingreso: abril-2007
Mensajes: 79
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Validacion en cliente y servidor (duda)

hola.

segun lo recomendado y usual, es validar en ambos lados. Y para mayor seguridad, validar en el servidor justo antes de la escritura.

pero (yo,) personalmente hago lo sgte:

1) una validacion 'light' en el cliente y
2) la validacion REAL en el servidor.

en mi caso y en lado del cliente y antes del SUBMIT, solo verifico que todos los fields(indispensables) estan completos y que ademas, cumplen con los requisitos minimos: tipo de caracter, longitud, etc.

Por ejemplo: si un field fuera para fecha, entonces este debe ser numerico y ademas debe estar en el orden preestablecido para el servidor(mmddyy, yymmdd, etc) y que ademas sea una fecha valida. Esta misma validacion puede y deberia( a mi modo de pensar) ocurrir en el servidor. Solo que en el servidor podria haber ademas, otro filtrado mas riguroso, por ejemplo: cruzarlo con alguna otra fecha o algo asi.

Ojo que, incluso antes del SUBMIT, cuando se esta editando algun field puede ser probable que haya una validacion en tiempo real con el servidor, no me refiero a eso y que perfectamente puede ser necesario, ***segun sea el caso***.


es una apreciacion personal, espero te sirva.

saludos cordiales
  #4 (permalink)  
Antiguo 08/09/2007, 05:16
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Re: Validacion en cliente y servidor (duda)

Hola:

Justamente las validaciones en el cliente debe hacerse desde el evento submit... haciendo que reciba true si pasa la validación y false para cancelar el envío... y siempre un botón del tipo submit... una plantilla de formulario estándard sería así:

<form action="destino.php" method="get" onsubmit="return validar(this)">
<input type="text" name="control1" />
<button type="submit" >enviar</button>
</form>

Si te fijas, al ser el botón de tipo submit, no es necesario programar su evento "click"... y el propio envío submit es un evento que se activa y se ejecuta sui manejador... también debes considerar ese return.

La función validar más sencilla sería:

function validar(f) {
return f.control1.value != "";
}

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 20:11.