Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-05-2007
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
¿Validar formularios en JavaScript o Php?

Hola a todos:

Tengo una gran duda, ¿qué es mejor?, validar en JavaScript o Php, la idea es que quede la validación de formularios solo en un lugar, para no tener que hacer trabajo repetitivos, ¿según ustedes cual es la mejor opción?.

Yo por otra parte opino que validar en php es mas costoso en tiempo ya que aparte de ver que los datos vienen correctos del formularios hay que procurar que en caso de error hay que mantener dichos datos en el formularios, por lo tanto se alarga la programación, en cambio con Javascript solo te preocupas de validar.

Espero sus experiencias y opiniones...

Gracias....
__________________
No todo es como parece ser...
Responder Con Cita
  #2  
Antiguo 05-05-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Ni la una ni la otra opción por separado, según mi humilde opinión. Pero me explicaré. Las validaciones en el lado del cliente (JavaScript) tienen la ventaja de que no se realizarán peticiones al Servidor si los datos de un formulario no cumplen ya con unas determinadas reglas.

Por otro lado, supongo que no estará demás validar los datos del lado del Servidor, o lo que es lo mismo, no confiar del todo en lo que nos llega del cliente, aunque se suponga que el contenido ha sido previamente validado. Piensa en que yo puedo hacer un "HTTP POST" o "HTTP GET" desde Delphi, enviando ciertos datos... que tu JavaScript no va a validar, puesto que no estoy dentro del navegador "usual".

Y ahora habría que ver si merece la pena implementar la validación en JavaScript, si no merece la pena, en fin... también creo que depende de la aplicación en concreto, empero, fíjate que estoy dejando como opcional la validación en JavaScript, pero doy por sentado que esta se llevará a cabo de todas formas en el Servidor.

Vamos, digo yo. ¿Eh? A ver qué opinan los monstruos de esto.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 06-05-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Enfatizando y/o complementando lo que dice David, yo siempre he pensado que deben hacerse ambas.

Por un lado, no es posible evitar la validación del lado del servidor. Éste no debe asumir nada acerca de lo que haya hecho el cliente porque el cliente puede alterar la validación o simplemente suprimirla. La validación en el cliente- en mi opinión -es meramente "ornamental"; tu sistema puede- y debe -prescindir de ella. Está únicamente para ayudar al usuario. Si hay alguna validación que pueda hacerse del lado del cliente, ayudas al usuario al ahorrar viajes al servidor para detectar que algo en los datos está mal, por ejemplo, el formato de algún campo. Pero, por lo dicho antes, tal validación deberá repetirse en el servidor.

De todas formas, ayudar al usuario es algo muy importante, y por ello digo que es necesaria también la validación del lado del cliente, siempre que sea posible.

Pero, igual que dec, esperemos a ver qué dicen los mounstruos.

// Saludos
Responder Con Cita
  #4  
Antiguo 06-05-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

De acuerdo con Román. Únicamente creo que podría decirse que además de una cuestión puramente ornamental validar los datos vía JavaScript puede acaso evitar alguna que otra petición HTTP. Pienso en el más o menos típico formulario de entrada a una aplicación.

Supongamos que el login de usuario tiene que tener más de cuatro caracteres para ser considerado válido: podemos evitar el envío del formulario si no se da esa circunstancia, advirtiendo al usuario de la misma, haciendo únicamente uso de JavaScript y evitando una petición HTTP.

Oyes... una petición HTTP puede no significar mucho, pero, tacita a tacita...

Y, por otro lado (y a eso iba antes con lo de que dependía de la aplicación, del formulario, etc.), digo que, por otro lado, hay peticiones HTTP y peticiones HTTP. No ha de ser lo mismo validar en el Servidor un campo de un formulario que todo el formulario.

Pienso en la típica opción que se ve en algunos formularios de registro, que al lado de la casilla para escribir nuestro login de usuario, aparece otro botón o un enlace que dice algo como "Pincha aquí para comprobar si el login de usuario está disponible".

Es algo para lo que necesitamos del Servidor, seguramente, pero, no necesitamos enviar todo el formulario para que al cabo el Servidor nos responda con un mensaje de error: "El login de usuario elegido ya está en uso, por favor, eliga otro"... lo cual puede ser tan contraproducente como general pueda ser un login de usuario.

Probad a abrir una cuenta de correo en GMail y veréis lo que os digo: es complicado elegir un nombre de usuario, un login... porque ya hay escogidos un montón de ellos. El formulario de registro de Gmail (al menos la última vez que lo ví así era) cuenta con la opción que menciono: "Comprobar si el login de usuario está en uso".

Para esto último el uso de "AJAX" es estupendo, claro está.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 06-05-2007
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Bueno, bueno....No recuerdo donde leí que un autor de un libro decía "No hay que abusar de javascript sino ser lo suficientemente inteligentemente para ver donde utilizarlo".

Con la cita anterior supongamos que el usuario tiene que hacer muchas tareas repetitivas tales como asignarles varios checkbox, entonces la opción seleccionar todo viene al pelo, por otra parte como dice roman "Está unicamente para ayudar al usuario", por lo tanto haré validaciones javascript, pero sola las más obvias, es decir ayudar al usuario, pero he decidido que el servidor debe validar todo por seguridad.

Igual que ustedes esperando a ver lo que dice kayetano y otros gurus del tema....jeje
__________________
No todo es como parece ser...
Responder Con Cita
  #6  
Antiguo 06-05-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por dec
además de una cuestión puramente ornamental validar los datos vía JavaScript puede acaso evitar alguna que otra petición HTTP
Sí, de hecho es a lo que me refería:

Cita:
Empezado por roman
ayudas al usuario al ahorrar viajes al servidor para detectar que algo en los datos está mal
Cita:
Empezado por lucasarts_18
entonces la opción seleccionar todo viene al pelo
Claro, es que javascript está justamente para lo concerniente a la interfaz de usuario, que incluye algunas validaciones, y desde luego, el manejo de los controles.

Veo que todos estamos de acuerdo, y la mención de Ajax para validar campos individuales es muy acertada.

Eso sí, desafortuadamente, el sistema no puede depender de JS, el usuario puede deshabilitarlo y debemos arreglárnoslas sin él.

// Saludos
Responder Con Cita
  #7  
Antiguo 06-05-2007
chico_bds chico_bds is offline
Miembro
 
Registrado: ene 2007
Posts: 50
Poder: 18
chico_bds Va por buen camino
Validacion cliente servidor

Voy a darte unas sugerencias muy novatas vale!!

Como bien han dicho los compañeros del forum debes hacer la validacion desde javaScript para evitar peticiones al servidor, pero no solo esto tambien ayudar al usuario.

Mira por ejemplo yo valido con javaScript lo siguiente:
  1. QUe los campos no esten vacios.
  2. que no me pacen espacios innecesarios.
  3. Validar que un campo que recoge numero no inserten letras.
Ahora bien la validacion más importante.... mi opnion vale... es le del servidor, ya que es mas dificil pasarle por encima.
  1. Comprobar que no se pasen datos con comillas ni nada de eso... para evitar inyecciones sql. (digamos que pasemos palabras claves para hacer una busqueda)
addslashes(trim(($palabras_claves)))

  1. En caso de que vayamos ingresar datos a la bd, entonces no nos sirve la funcion de arriba... Ahora debemos verificar a travez de patrones... yo recomiendo eregi (mi humilde recomencacion..).
eregi("^[a-zA-Z ]*$", $nombre) or $nombre == "")

Asumiendo por supuesto que hemos recogido los datos de formulario en la variable $nombre.

Esta funcion evitaria la entrada de numeros o espacios en el nombre.

Saludos y espero haberte servido de alguna ayuda.

------------------------------------------------------------------
url: http://www.crealotu.com
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
validar con javascript otra vez elcigarra HTML, Javascript y otros 2 29-01-2007 00:46:21
De JavaScript a PHP halizia PHP 10 10-10-2006 18:23:38
javascript kejos HTML, Javascript y otros 2 12-04-2006 12:53:35
JavaScript to Delphi sArEeE HTML, Javascript y otros 1 08-09-2005 15:28:35
Problema con php y javascript Andrea Martinez PHP 5 24-11-2004 18:43:59


La franja horaria es GMT +2. Ahora son las 12:16:32.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi