Estás anulando la sobrecarga incorrecta. Necesita anular el método Validar con la firma: public virtual ValidationResult Validate(ValidationContext<T> context)
porque este método se llamará durante la validación de MVC:
public override ValidationResult Validate(
ValidationContext<RequiredSourceViewModel> context)
{
var validator = new SourceValidator();
var source =
Mapper.Map<RequiredSourceViewModel, Source>(context.InstanceToValidate);
return validator.Validate(source);
}
La otra sobrecarga solo se usa si llama manualmente valide como validator.Validate(object)
.