RequiredAttribute取决于父属性属性

时间:2014-11-03 13:07:33

标签: c# asp.net-mvc validation required model-validation

对于我的asp.net mvc 5应用程序,我使用了一些或多或少复杂的嵌套模型。

所以我有一个模型类:

public class MainModel{
      [Required]        
      public string Foo {get;set;}

      [Required]
      public LocalizedStringModel Bar1 { get;set;}

      // NOT REQUIRED
      public LocalizedStringModel Bar2 { get;set;}

}

如您所见,模型类的两个属性是另一个模型类的类型。

public class LocalizedStringModel {

      [Required]
      public string DefaultTranslation { get;set;}

      public IList<string> MoreTranslations {get;set;}
}

现在的问题是,由于LocalizedStringModel-Class中的RequiredAttribute,对MainModel类的两个属性都进行了验证。有没有办法只对所需的LocalizedStringModel-Property进行验证?

我尝试实现自定义RequiredWhenParent-Attribute,但无法访问LocalizedStringModel实例中的父MainModel实例。 : - (

有人有什么想法吗?

0 个答案:

没有答案