synchronization client-side server-side client-scripting

synchronization - ¿Cómo se evita la duplicación de validación en el servidor y el lado del cliente?



client-side server-side (9)

¿Cómo se evita la duplicación de validación en el servidor y el lado del cliente? ¿Existe una plataforma de programación web que genere una de la otra, por lo que no tengo que mantener las dos sincronizadas?


Como otros mencionaron, debes mantener la duplicación, ya que la validación del lado del cliente es para ayudar a la aplicación a reaccionar antes para ayudar al usuario, pero la validación real es del lado del servidor, ya que nunca debes confiar en nada pasado hasta que ha sido validado Probablemente hará una validación más extensa en el lado del servidor, especialmente si hay una necesidad de verificar contra una fuente de datos, por ejemplo, si el nombre de usuario es único en el lado del servidor, pero si el nombre de usuario es lo suficientemente largo o dirección de correo electrónico, podría hacerse en el lado del cliente y en el lado del servidor.

Tiendo a hacer comentarios cuando hay duplicación, especialmente si estoy usando una expresión regular, para asegurarme de que los cambios en uno cambien en otro.

Las buenas pruebas unitarias ayudarán a garantizar que estos dos siempre estén sincronizados.


Creo que la mejor manera es usar un componente que ofrezca ambos. Su código ha sido probado y no necesita mantenerlo. He utilizado los controles de Peter Blum en el pasado con gran éxito. Aparte de eso, creo que tendrás que mantener dos bases de código si quieres ofrecer ambas. Hay una herramienta llamada Script # que puede ayudar a compilar C # a Javascript (hace una traducción, no una compilación real), pero no estoy seguro de cuán grande funcionaría para esta situación.


Esto no es para responder a su pregunta, pero es posible que desee modificar su título para que no confunda al lector, a algo así como "¿Cómo mantener la validación en el servidor y el lado del cliente sincronizados?"

La idea del título es a) darle al lector una idea aproximada de lo que está preguntando ob) hacer que el lector se dé cuenta de que tiene que leer su contenido para comprender su pregunta.


Existen marcos que pueden generar la validación del lado del cliente desde la configuración de validación del lado del servidor.

Ahora no sé qué idioma o marcos está utilizando, pero tal vez este artículo pueda ser de ayuda: http://www.emadibrahim.com/2008/09/08/client-server-side-validation-in-aspnet -mvc /

Utiliza Castle Validator Component junto con JQuery y agrega algo de pegamento para generar la validación del cliente en función de los atributos de validación del lado del servidor. Es para asp.net mvc.

/ Asger


La mayoría abandona el scripting del lado del cliente y simplemente hace el lado del servidor hoy en día. Puede usar ajax al enviar la publicación, de modo que la respuesta sea un poco más ligera que volver a cargar toda la página.


La validación del lado del servidor es necesaria simplemente porque la validación del lado del cliente se puede deshabilitar.

No se requiere la validación del lado del cliente, pero hace que su aplicación sea más receptiva durante el manejo de errores, ya que ya no necesita enviar un formulario al servidor y esperar a que la página resultante regrese.

Una aplicación bien diseñada usa ambos.

Como nota al margen, Ajax puede utilizarse para ciertos tipos de validación, como la verificación de nombres de usuario duplicados en un formulario de registro de usuario. Sin embargo, la validación básica, como comprobar si un campo contiene solo números, debería realizarse sin ella.


Lo mejor es hacer la validación en el lado del servidor en la mayoría de los casos. Tienes muchas opciones diferentes para hacer esto más fácil, como Ajax o usar formularios adhesivos en PHP. Personalmente tiendo a hacer la validación en el lado del servidor porque el usuario tiene la opción de desactivar JavaScript y no pueden desactivar la validación en el servidor .....


Lo que puede hacer es que la lógica de validación del lado del servidor la ejecuten los servicios web que su validación del lado del cliente puede llamar a través de AJAX y también cuando la publica de nuevo en su servidor.