1
我有一个使用自定义验证器的模型类,如下面的代码所示。如何在两个不同的模型中使用相同的验证器
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在模型2的情况下被使用,它铸造模型1
Model1 model = (Model1)(context.ObjectInstance);
任何想法可能是更好的方法来重复使用相同的验证时抛出异常?