Asp.net MVC 3条件模型验证

时间:2012-08-13 18:59:20

标签: asp.net asp.net-mvc validation razor

我有一个父类和一个子类,父类有1个类型为子类的成员。这两个类都继承了IValidatableObject并验证了它们自己的属性,因为我希望子类可以重用。

public class Parent : IValidateable
{
    Public ChildClass Child {get; set;}
    Public bool ValidateChild {get; set;}

     public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
    }
}

public class Child : IValidatable
{
    Public string Name {get; set;}

   public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
      //This shouldn't fire if parent.ValidateChild is false
    }
}

问题是父类的子类属性应该只验证ValiddateChild属性是否为true

如何在ValidateChild为false时阻止子对象验证?

1 个答案:

答案 0 :(得分:-1)

一种方法是进行自定义验证,或者您可以检查一些外部框架,例如this,看看这是否有帮助。