Вы переопределяете неправильную перегрузку. Вам нужно переопределить метод проверки с подписью: public virtual ValidationResult Validate(ValidationContext<T> context)
потому что этот метод будет вызван во время проверки MVC:
public override ValidationResult Validate(
ValidationContext<RequiredSourceViewModel> context)
{
var validator = new SourceValidator();
var source =
Mapper.Map<RequiredSourceViewModel, Source>(context.InstanceToValidate);
return validator.Validate(source);
}
Другая перегрузка используется только в том случае, если вы вызовите вручную проверку как validator.Validate(object)
.