I have written a Contributor based validator which includes a DataAnnotation validation contributor and also checks against broken bindings (where the user has entered incorrect type)
http://adammills.wordpress.com/2010/07/21/mvvm-validation-and-type-checking/