Buscando la validación inteligente

En realidad, a todo este proceso lo resumo en 2 formas de validar: A mano o con Jakarta Commons Validator. Y esto, en forma independiente a si se está realizando una aplicación de escritorio o web.
Pero esperen, momento, no se pongan locos y vayan a creer que ya se solucionaron todos los problemas, no se puede escapar completamente de codificar algunas cosas a mano. Por ejemplo, siempre es conveniente poner una máscara a los JTextField o utilizar el calendario DHTML de DynaArch en una página web.
Lo que me gusta de Jakarta Commons es que muy fácil de configurar (XML basado en JavaBeans), muy completo, intuitivo y fácil de extender, lo que hace que sea declarado como un Framework de validación. Lo recomiendo mucho, además si se está programando para la web y se está utilizando algún framework como Struts, sepan que el framework de validación de Struts, es Jakarta Commons Validator. En este útlimo punto no puedo decirles si es mejor o no al entorno de validación de Spring, ya que no lo he analizado a fondo.
Jakarta Commons Validator tiene además, fuentes de validación JavaScript, así que ni siquiera se hace dependiente de validación realizada en el servidor, tranquilamente podemos incorporar estas librerías a nuestra página web y realizar validación (básica, por supuesto) en el Cliente.
Como adelante de algún próximo post, estoy investigando la posibilidad de incorporar al los JavaBeans, validación por medio de Jakarta, pero sin generar ningún documento XML en forma manual, sino a través de las Java annotations. Esto me suena muy interesante, ya que sólo necesitaríamos (en principio) "marcar" los métodos setters con la validación adecuada.

Bueno, resulta que existe un proyecto que intenta realizar validaciones de objetos (no sólo de JavaBeans) a través de annotations.
Se llama OVal y pueden encontrarlo en sourceforge.org Parece muy interesante por lo poco que he visto.
Por último, les dejo algunos links interesantes:
- Artículo de Sun "Validating Numerical Input in a JTextField"
- Jakarta Commons Validator
- Artículo de developer.com "Dynamic Error Notification and Construction with Java Swing"