I\'m trying to validate a class decorated with data annotation with the Validator class.
It works fine when the attributes are applied to the same class. But when I
I found the answer here: http://forums.silverlight.net/forums/p/149264/377212.aspx
MVC recognizes the MetaDataType attribute, but other projects do not. Before validating, you need to manually register the metadata class:
TypeDescriptor.AddProviderTransparent(
new AssociatedMetadataTypeTypeDescriptionProvider(typeof(Persona), typeof(Persona_Validation)), typeof(Persona));
ValidationContext context = new ValidationContext(p, null, null);
List results = new List();
bool valid = Validator.TryValidateObject(p, context, results, true);