Validate only specific property

Is there a way to validate only single property on an object based on the rule attributes applied to it, rather than validating the entire object?

I want to perform validation inside IDataErrorInfo.this[string propertyName], which gets called multiple times on each property, and it seems calling Validation.Validate<T>(T target) would be inefficient.

There is a way to only get the validators for a particular property. The Validation Application Block contains a PropertyValidationFactory that allows creating validators for properties. However, this type is internal, so you can’t access it directly
(without reflection of course). However, it can be accessed indirectly by using the ValidationIntegrationHelper. In that case you will have to create a custom implementation of the IValidationIntegrationProxy interface and supply it as constructor argument
to the ValidationIntegrationHelper. After that, you can call the CreateValidator() method on the ValidationIntegrationHelper and you’re done.