Sin duda tenés que usar Validation application block de Enterprise Library (bueno, sin duda es lo que yo haría), justamente una de las cosas que te permite es validar a partir de atributos, fijate en los ejemplos de la documentación, en internet o en mi blog :-) . Un consejo, no dispares excepciones por errores de validación, fijate VAB que utiliza validation results, no es una buena práctica realizar control de flujo a partir de excepciones. Dale una mira a VAB y te va a gustar, tiene validación por atributos o desde el config de la aplicación, también lo podés integrar a winforms y asp.net.
http://codeplex.com/entlib Saludos. Leonardo Micheloni. http://leomicheloni.blogspot.com/
