【发布时间】:2012-02-07 22:38:02
【问题描述】:
我的项目在 ASP.NET MVC 3 中。在我的域中,我有一个由实体框架定义的模型对象。为了验证属性,我只需扩展生成的 EF 对象并添加一个包含所有验证属性的元数据类。
[MetadataType(typeof(ContactInformationMetaData))]
public partial class ContactInformation
{
}
public class ContactInformationMetaData
{
[Required]
public string FirstName { get; set; }
[Required]
public string LastName { get; set; }
public string Phone { get; set; }
[EmailValidator]
public string Email { get; set; }
}
这在大多数情况下都很有效,但现在我有一个更复杂的场景。我不希望电话和电子邮件属性是必需的,但我希望它们中的一个是必需的。换句话说,我想要求设置电子邮件或电话或两者都设置,但不能没有。
我将如何执行这样的复杂验证?如果我创建一个自定义验证属性,我会将它放在哪里以及如何工作?
【问题讨论】:
标签: asp.net asp.net-mvc entity-framework validation entity-framework-4