You are overriding the wrong overload. You need override the Validate method with the signature: public virtual ValidationResult Validate(ValidationContext<T> context)
becuase this method will be called during the MVC validation:
public override ValidationResult Validate(
ValidationContext<RequiredSourceViewModel> context)
{
var validator = new SourceValidator();
var source =
Mapper.Map<RequiredSourceViewModel, Source>(context.InstanceToValidate);
return validator.Validate(source);
}
The other overload is only used if you manually call validate like validator.Validate(object)
.