我看到他们过去曾问过这个问题,只是以间接的方式没有答案,
问题是无法从父级通过子级获取参数
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
}
}