2010-08-09 17 views
8

¿Cuál es el objetivo de validar sus formularios HTML utilizando Javascript, si siempre va a necesitar validar los formularios con PHP? Me doy cuenta de que obtiene un aumento de velocidad de esto, y es más conveniente para el usuario, pero más allá de eso, ¿vale la pena el tiempo invertido en él? Si alguien tiene alguna buena evidencia sobre esto, me encantaría escucharlo.¿Por qué debería validar formularios usando javascript?

¡Gracias por cualquier ayuda!
Metropolis

ACTUALIZACIÓN

Después de recibir numerosas respuestas que me gustaría cambiar un poco la pregunta. Todos sabemos que javascript es mucho más conveniente para el usuario y proporciona una respuesta más rápida. Lo que me pregunto es: ¿Alguien ha visto alguna "evidencia" de que valga la pena? ¿O simplemente lo hacemos porque mejora un poco las cosas y todos dicen que deberíamos hacerlo? La diferencia de velocidad no es tan significativa, y como Internet se vuelve más rápida, la validación de JavaScript se volverá incluso más obsoleta, creo.

Estoy comenzando a preguntarme si el tiempo dedicado a validar una página usando javascript podría ser mejor empleado.

+1

Estoy totalmente de acuerdo contigo, nunca uso JS para la validación, solo para decoración :) – darma

+2

Por la pregunta nos damos cuenta de que entiendes tanto la validación del servidor como la validación del usuario ** la verdadera pregunta aquí es si el tiempo pasó crear una mejor experiencia de usuario se desperdicia o no **. Es bastante subjetivo. – Frankie

+0

@ Frankie Sí, tienes razón ... Lo que realmente estoy buscando es una buena "evidencia" de que el jugo vale la pena apretarlo. ¿Se han realizado estudios sobre esto? La mayoría de las respuestas que recibí aquí ya me dijeron lo que sé. Todo el mundo siempre dice "javascript lo hace más fácil para el usuario", pero ¿realmente vale la pena? ¿O simplemente lo hacemos porque les resulta más fácil y suponemos que vale la pena? – Metropolis

Respuesta

15

Lo ideal es que valide mediante JavaScript y (en su caso) PHP.

Ambos métodos de validación funcionarán en tándem para garantizar que obtenga la funcionalidad más robusta y fácil de usar posible para su usuario final.

Utilizará la validación del lado del cliente para asegurarse de que todos los campos estén completos, las direcciones de correo electrónico sean válidas, etc. Esto proporcionará retroalimentación instantánea y no afectará a sus servidores ni a la conexión a Internet del usuario.

valida el lado del servidor para security. Puede controlar todo en el servidor y nada en la máquina cliente. Es aquí donde se asegura de que todos los datos ingresados ​​no sean maliciosos y correctos.

Tenga esto en cuenta: si solo va a ir con un tipo de validación, elija la validación del lado del servidor porque es más seguro. Debe nunca confiar en el código del lado del cliente para cualquier tipo de seguridad.

El uso de ambos tipos de validación le ofrece lo mejor de ambos mundos (receptividad y seguridad) sin tener ninguno de los inconvenientes. Por supuesto, esto significa que debe escribir más código, pero en mi opinión, vale la pena.

EDIT: En respuesta a los comentarios

Sí, usted tiene que escribir más código de esta manera ... Como regla general, si es más difícil para el programador, es más fácil para el usuario .Puede que no tenga sentido en algunos presupuestos hacer ambos tipos de validación y esa es una llamada que tendrá que hacer. Solo asegúrate de que la validación del lado del servidor sea sólida.

Sí, el tiempo es dinero, y el tiempo invertido en la mejora de la experiencia del usuario es un tiempo bien empleado. Si no puede permitirse hacerlo ahora (fechas límite/calendario/presupuesto), hágalo cuando pueda.

+0

¿Entonces lo único que realmente obtienes es la velocidad? ¿Pero todo el tiempo extra que gastas haciendo esa validación de JavaScript para ahorrar unos segundos (o menos en la mayoría de los casos)? No me malinterpreten, siempre he hecho ambas cosas hasta ahora. Pero acabo de llegar a un formulario con 14 campos y estoy empezando a pensar que no vale la pena el fastidio. – Metropolis

+8

Deja de pensar en lo que es conveniente para TI y comienza a pensar en lo que es conveniente para el USUARIO. ;) –

+0

@Liam LOL Estoy de acuerdo ... Pero el tiempo es dinero. – Metropolis

-9

PHP se ejecuta en el servidor, JavaScript se ejecuta en el lado del cliente. No querrás que tu servidor rompa la validación del formulario cuando puedas hacer que la computadora del cliente lo haga. Además, ahorra ancho de banda.

+6

bien siempre necesita validar el formulario en el lado del servidor de todos modos ... – darma

+3

Próximamente: prevención de inyección sql del lado del cliente. – Mchl

+0

Ya sé esas cosas ... Por eso dije "me doy cuenta de que obtienes un impulso de velocidad de esto". Lo que quiero saber es, ¿obtengo algo más? Porque lleva tiempo validar en ambos extremos cuando se necesita el php, pero el javascript realmente no lo es. – Metropolis

2

Todo se basa en la usabilidad. Es mucho más conveniente para el usuario leer los errores que ha cometido antes de volver a cargar la página, en lugar de enviar y volver a cargar continuamente la página. También puede dar un aspecto más agradable con algunos AJAX y los "me gusta", en lugar de una recarga de la página y los mensajes de error rojos que parecen muy feos, creo. Entonces la ventaja? Mucho más útil que tener la validación del lado del servidor solo.

0

Para proporcionar una mejor experiencia de usuario.

La retroalimentación sobre la validación de JS es más rápida y, por lo tanto, mejor que la validación del lado del servidor en el envío del formulario.

0

El punto principal de la validación de JavaScript (cuando está disponible) es que mejora la experiencia del usuario. Un viaje de ida y vuelta al servidor requiere una carga de página y el molesto parpadeo asociado a medida que se vuelve a dibujar. La validación en código JavaScript le permite mostrar un mensaje sin todo eso.

Dicho esto, la validación del lado del servidor sigue siendo necesaria ya que JavaScript no siempre está disponible (NoScript es bastante popular) y porque un usuario malintencionado omitirá el JavaScript.

0

Particularmente para sitios web respaldados por bases de datos, tiende a ser que usted necesita hacer la validación del lado del servidor de todos modos. p.ej. para asegurarse de que está ingresando datos válidos en una base de datos u otro sistema. Dependiendo de lo que el sitio web esté actualizando, esto podría ser absolutamente crítico.

Sin embargo, la validación del lado del cliente puede proporcionar una mejor experiencia de usuario. Se puede usar para proporcionar comentarios instantáneos. p.ej. Cuando alejas el foco de un cuadro de texto, un validador puede proporcionar una respuesta instantánea que es excelente cuando estás rellenando una larga y complicada forma.

La conclusión es que aún necesitará ingresar buenos datos en su base de datos. Y cuanto más correcta sea la información almacenada allí, menos problemas tendrá el sistema más adelante. Necesitas ambos.

p. Ej. ¿Qué pasa si alguien actualiza el código del sitio web en el futuro y rompe la validación? o alguien escribe una secuencia de comandos para automatizar la entrada de datos, omitiendo su interfaz web toda su validación?

Lo diré de nuevo. Necesitas ambos.

0

... creo que también mantienes tu karma más limpio, cuando cientos o miles de tus usuarios no desean que ardas en el infierno para que rellenen de 5 a 7 campos (con área de texto) para recibir información sobre En la página siguiente, escribieron mal su correo electrónico, por lo que tienen que volver a comenzar: D , no me consume gran parte de mi tiempo para incorporar javascript, id decir 1-2 minutos como máximo para 1 formulario. y ahorra muchas células nerviosas de mis usuarios. ser un humanista! love ur neighbor!))

0

La validación del lado del cliente permite una mayor experiencia del usuario. Los comentarios que le das al usuario generan menos frustraciones, menos errores, más conversiones y más dinero. Por lo general, tiene una mejor tasa de respuesta con este tipo de validación, que es muy valiosa.

Un software de alta calidad necesita esto. Los usuarios se sienten felices y difundirán su alegría. Un usuario que tiene una mala experiencia no vendrá y no se lo contará a su amigo.

No es solo una decoración cuando se trata de negocios y ventas. ;) El rendimiento de la inversión lo vale.

0

Fácil.

Javascript para ayudar al usuario a ingresar datos con el formato correcto. PHP para asegurarse de que todo lo que ingrese a su script se elimine antes de continuar con el procesamiento.

Por supuesto, tendrá que hacer ambas cosas. Los usuarios lo quieren, sus clientes lo quieren y, francamente, cree que es muy fácil obtener mensajes de error de php después de enviarlos también.

No creo que el argumento de tener que codificar .js extra, lo que presumiblemente consumiría su tiempo/presupuesto, es algo que tiene mucho valor. Hay tantas librerías y scripts, que uno le permitirá configurar la validación del disco en muy poco tiempo. Sin embargo, no te dejes llevar por los dulces ojos. La validación de .js está ahí para ayudar. No para impresionar

Cuestiones relacionadas