Vous remplacez la mauvaise surcharge. Vous devez remplacer la méthode Validate avec la signature: public virtual ValidationResult Validate(ValidationContext<T> context)
Parce que cette méthode sera appelée pendant la validation MVC:
public override ValidationResult Validate(
ValidationContext<RequiredSourceViewModel> context)
{
var validator = new SourceValidator();
var source =
Mapper.Map<RequiredSourceViewModel, Source>(context.InstanceToValidate);
return validator.Validate(source);
}
L'autre surcharge n'est utilisée que si vous appelez manuellement valider comme validator.Validate(object)
.