En nuestra aplicación tenemos varias capas. Capa de servicio, capa DAO y acciones (aplicaciones de struts).Práctica recomendada para validar datos de entrada para aplicaciones de varios niveles
Los datos pasan de una capa a otra capa.
¿Dónde idealmente deberíamos colocar la validación de entrada?
Digamos, ID de usuario, el número de teléfono proviene de la interfaz de usuario, son obligatorios. Entonces ya estamos haciendo la validación en el lado del cliente.
Ahora, según mi opinión, esta todo lo que necesita. En ningún otro lugar debe ser validado.
Pero uno de mis colegas argumenta, ¿qué pasa si el cliente hace la solicitud directamente. Entonces, necesitamos agregar acciones también.
ahora, en Dao, así, el mismo método se acostumbrarse a alguna otra acción y THT no tiene validación,
o, por ejemplo capa de servicio, podría ser expuesto como, por ejemplo como servicio web, por lo que también deberías tener validación.
Así que esencialmente, Él está sugiriendo ... debemos tener validaciones en todas partes. Lo cual no tiene sentido para mí. Su duplicación a través de la capa.
¿Cuál es el enfoque ideal para esto? Digamos que la validación es de simple verificación nula o alguna validación compleja.
Gracias a todos por las respuestas. Mi pregunta es a nivel de programación. (Puede ser que mezcle 2 cosas). Déjame elaborar. Digamos que hay ProcessAction, ProcessService y ProcessDao. Todos ellos tienen createProcess (Str p1, p2, p3 ... pn) Ahora, digamos que estoy teniendo un cheque nulo en la acción para asegurarme de que todos los param no son nulos. Ahora, ¿de qué sirve hacer null chec kin en los 3 procesos? (Puede ser que este ejemplo ayude a lo que intento preguntar) El marco de validación de @Pangea funcionará hasta Acciones, ¿cómo lo uso en el servicio y en la capa de dao? (Por favor corrígeme si me falta algo) –