| Registrar a un usuario en un sitio Web (MVC) |
| Paso 1: Fundamentos |
Validación de datos en los Clientes versus validación de datos en el Servidor
La validación de datos entrados por ejemplo en un formulario tanto se puede realizar en el lado Cliente (Navegador a través de JavaScript) como en el lado Servidor (Contenedor Web a través de Servlets, páginas JSP y JavaBeans).
Los desarrolladores que trabajan en el lado Cliente ven lógico y natural que la validación se realice en el lado Cliente, mientras que los desarrolladores que trabajan en el lado Servidor ven por su parte lógico que la validación se realice en el lado Servidor. Seguidamente vamos a ver los pros y contras de estas dos opciones confrontadas:
Dejar la validación solamente en el lado Servidor
- nos asegura que los datos enviados a la lógica de negocio son siempre validados
- podemos saber cuales son los datos de entrada más conflictivos
- por ejemplo si recibimos muchos errores en un mismo campo, nos podemos plantear la idea de realizar la pregunta de una forma más clara utilizando un comboBox con los valores ya predeterminados en vez de un campo de texto donde se puede introducir cualquier valor
- hay más tráfico en la red, porque cada vez que el usuario acepta un Formulario los datos tienen que transportarse a través de la red en ambos sentidos
Dejar la validación solamente en el lado Cliente
- disminuimos el tráfico
- no tenemos feedback de los errores del usuario
- le estamos dando a los diseñadores de páginas web un trabajo extra más allá del diseño de la página web
- es una práctica que se tendría que evitar, ya que cualquier persona puede alterar el código JavaScript incrustado en la página HTML y al realizar dichos cambios la validación no se realiza de forma correcta y los datos indeseados pueden llegar a la lógica de negocio de nuestra aplicación servidora
Dejar la validación en el lado Cliente y en el lado Servidor
- es aconsejable realizar validaciones poco exaustivas en el lado Cliente ya que detrás de la validación se esconde parte de la lógica de negocio
que un diseñador de páginas Web desconoce
- en muchas ocasiones es suficiente validar en el lado Cliente si un campo se ha rellenado o comprobar si un correo electrónico tiene incluida la arroba en su dirección
- es totalmente aconsejable realizar validaciones muy exaustivas en el lado Servidor