2
我正在使用IValidatableObject驗證具有例如下面的代碼:爲什麼和如何解決ASP MVC模型驗證的子實體被調用,但不是爲父實體?
public class OuterObj : IValidatableObject
{
public int ID { get; set; }
public string Name { get; set; }
public IEnumberable<InnerObj> InnerObjList { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (this.ID <= 0)
{
yield return new ValidationResult("", new[] { nameof(this.ID) });
}
}
}
public class InnerObj : IValidatableObject
{
public int ID { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (this.ID <= 0)
{
yield return new ValidationResult("", new[] { nameof(this.ID) });
}
}
}
在當我驗證outerObj這種情況下,當有innerObj目前它僅驗證了innerobj而不是outerobj。它不會達到innerobj存在的外部驗證方法。
我想在innerobj出席時驗證兩者。請幫助我完成它。爲什麼它不驗證outterobj?