首页 > 解决方案 > 如何将isValid方法的contextValidation参数从父级传递给子级

问题描述

我看到他们过去曾问过这个问题,只是以间接的方式没有答案,

问题是无法从父级通过子级获取参数

public class ParentModel
{
    public int statusBakashaID { get; set; }
    public ChildModel Children { get; set; }
    //.....
    //.....
}
public class ChildModel
{ 
    [myRequired(ErrorMessage = "",OtherProperty ="statusBakashaID")] 
     public string id { get; set; }
    //.....
    //.....
}

public class myRequired: ValidationAttribute
{
  public string OtherProperty { get; set; }
    protected override ValidationResult IsValid(object value, ValidationContext validationContext)
    {
           var otherProperty = validationContext.ObjectType.GetProperty(OtherProperty);
        var otherPropertyValue = 
             (int)otherProperty.GetValue(validationContext.ObjectInstance,null); 
if(otherPropertyValue == 1){
//.....
}
return null
    }
}

标签: apic#-4.0customvalidatorvalidationattributevalidation-controls

解决方案


推荐阅读