У меня есть класс модели, который использует специальный валидатор, как показано в следующем коде.Как использовать тот же валидатор в двух разных моделях
public class Model1
{
[ApplicationIdentifierValidator()]
public Guid ApplicationIdentifier { get; set; }
public string ApplicationName { get; set; }
public string ApplicationType { get; set; }
}
public class ApplicationIdentifierValidator: ValidationAttribute
{
public ApplicationIdentifierValidator() { }
protected override ValidationResult IsValid(object value, ValidationContext context)
{
Model1 model = (Model1)(context.ObjectInstance);
Guid ApplicationIdentifier = model.ApplicationIdentifier;
// Validate ApplicationIdentifier value
return ValidationResult.Success;
}
}
Теперь я добавил еще один класс модели, который должен использовать тот же валидатор.
public class Model2
{
[ApplicationIdentifierValidator()]
public Guid ApplicationIdentifier { get; set; }
public Guid SystemIdentifier { get; set; }
}
Проблема заключается в том, когда ApplicationIdentifierValidator используется в контексте model2, он выбрасывает исключение при литье в Model1
Model1 model = (Model1)(context.ObjectInstance);
Любые идеи, что может быть лучше подход повторно использовать тот же валидатор?