【发布时间】:2012-09-29 02:35:40
【问题描述】:
我正在使用其他自定义联系人模型类继承的基本联系人模型。
public class BaseContactModel
{
[Required(ErrorMessage = "Firstname is required")]
public virtual string FirstName { get; set; }
}
基本联系人模型使用验证属性来标记需要的属性,但在某些情况下我想覆盖或停止它。这可能吗?
public class ContactModel : BaseContactModel
{
[NotRequired]
public override string FirstName { get; set; }
}
我尝试使用新的验证属性 NotRequired 来仅返回 true,但似乎这些属性只是堆叠起来,因此 Required 和 NotRequired 正在运行并且验证失败。
在寻找解决方案(我找不到)时,我发现一些不相关的属性具有“继承”属性,但我在 System.ComponentModel.DataAnnotations。
这是一个失败的原因吗?我是否需要推出自己的支持禁用继承的版本?非常感谢任何帮助。
【问题讨论】:
标签: asp.net-mvc inheritance validationattribute