对于我的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实例。 : - (
有人有什么想法吗?