No se si es exactamente lo que necesitas y no se que opinión tendrán los demás, pero te cuento lo que hice hace poco en un proyecto (igual es un poco feo pero me hizo ahorrar mucho tiempo).
Me creé una clase que recibiendo cualquier tipo de objeto, obtenía todas los atributos y los que tuvieran una anotación @Obligatorio (hecha por mi) me comprobaba que no estuviera a null, vacío, mayor que 0 o lo que le correspondiera según el tipo. Al final no conseguí dejarlo todo lo fino que me hubiese gustado pero no quedó tan mal. Quizás con polimorfismo hubiese quedado mejor.
Saludos.
El 27/10/2010 18:10, "Javier Acero" <j4c...@gmail.com> escribió:
Hola Kini.
Yo llevo dándole vueltas al tema de la validación desde hace tiempo, pero mi problema va por otro camino (por el uso de Hibernate Validator...). Así que soy todo ojos para lo que se diga en este hilo.
No sé si será exactametne lo que estás buscando, pero echa un ojo al patrón especification que define Eric Evans en DDD.
Salu2.
El 27 de octubre de 2010 18:00, Kinisoftware <kiniso...@gmail.com> escribió:
>
> Buenas a tod@s,
>
> hoy me he vuelto a encontrar con un caso, recurrente creo yo, en
> muchas a...
Sí, lo que hice fue copiar lo que hace Hibernate, ya que no sabía que se podía usar el Validator sin usar Hibernate... para la próxima ya lo se :)
El 27/10/2010 19:25, "Javier Acero" <j4c...@gmail.com> escribió:
Jesús, eso mismo lo tienes con Hibernate Validator, sin necesidad de implementar nada. Y al contrario de lo que pueda parecer no hace falta usar Hibernate para usarlo (aunque si lo usas con Hibernate valida las anotaciones al hacer una insercion o actualización).
Salu2.
El 27 de octubre de 2010 19:20, Jesus Jimenez <yey...@gmail.com> escribió:
>
> No se si es exactamente lo que necesitas y no se que opinión tendrán los demás, pero te cuento ...
Te presento 3 opciones:
* En Java: Usar alguna implementación de JSR 303 (e.g. Hibernate Validator).
No es necesario que modifiques los objetos que tienes que validar, ya que puedes
especificar las validaciones mediante XML (aunque ciertamente tienes que escribir mucho más).
Con JSR 303 tienes la ventaja de que las validaciones las aplicas en el momento que
quieras y en la capa que quieras. Otra característica muy útil es que puedes definir
grupos de validaciones, de tal manera que no siempre tienes que aplicar todas las validaciones
definidas para un objeto, ya que las organizas desde diferentes perspectivas de validación.
* Hacerle caso a Javier y modelar objetos Specification como lo describe el libro DDD.
(hay una versión corta y gratuita en el sitio de InfoQ: Domain Driven Design Quickly)
Esto tiene la ventaja de que no introduces ningún framework nuevo, y además es más fácil
de leer la intención de las validaciones. Otra característica es que las validaciones
pueden ser elementos que se componen en validaciones más elaboradas.
Espero sea de ayuda.
Agustín Ramos
Agustín Ramos
Software Craftsman
Un saludo,
JMB
--
Un saludo,
Jose Manuel Beas
http://agilismo.es
http://jmbeas.iexpertos.com
http://twitter.com/jmbeas