我可以使用不同的验证消息,具体取决于引用我的模型类的类...
例如。
public class AdviceUnit
{
public Client MainClient {get;set;}
public Client PartnerClient {get;set;}
public List<Investments> JointInvestments {get;set;}
}
public class Client
{
public Guid Id {get;set;}
[Required(ErrorMessage = "ERROR MESSAGE but a different ")]
public string FirstName {get;set;}
[Required(ErrorMessage = "client last name is missing")]
public string LastName {get;set;}
[Required(ErrorMessage = "client date of birth is missing")]
public DateTime DateOfBirth {get;set;}
}
我真正想要的是针对main&amp ;;的不同验证错误消息伙伴客户。
例如
[Required(ErrorMessage = "main client first name is missing")]
[Required(ErrorMessage = "partner client first name is missing")]
我的视图绑定到AdviceUnit对象。
答案 0 :(得分:1)
就像BDH所说的那样(抱歉我没有窃取您的答案,信用证首先发布给BDH),您可以实现自定义的必需验证属性。
作为概念证明:
public string ClientType {get; set;}
public class CustomRequiredAttribute : RequiredAttribute { protected override ValidationResult IsValid (object value, ValidationContext validationContext) { var instance = validationContext.ObjectInstance; var instancePropertyValue = instance.GetType().GetProperty("ClientType").GetValue(instance, null); return new ValidationResult(ErrorMessage.Replace("[replaceText]" ,instancePropertyValue.ToString())); } }
[CustomRequired(ErrorMessage = "[replaceText] client first name is missing ")] public string FirstName {get;set;}
唯一需要注意的是,必须在发布/验证之前设置ClientType属性。