Asp.net mvc 数据模型需要两个属性之一

Asp.net mvc 数据模型需要两个属性之一,asp.net-mvc,asp.net-mvc-3,entity-framework,entity-framework-4,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 3,Entity Framework,Entity Framework 4,Asp.net Mvc 4,假设我有一个Person类,有FirstName和LastName。我希望用户必须在UI中输入两个值中的至少一个,但他可能不必输入每个值 如果我将Required属性/数据注释放在它们的每一个上,则这两个都是必需的 如何对此规则进行服务器端验证(也包括客户端验证)?您可以为此使用自定义属性。简而言之,自定义属性将检索这两个值,然后确保至少有一个值。有关更多信息,请参阅。下面是一个示例(未测试的代码): 用法: class Person{ [ValidatePersonName] First

假设我有一个
Person
类,有
FirstName
LastName
。我希望用户必须在UI中输入两个值中的至少一个,但他可能不必输入每个值

如果我将
Required
属性/数据注释放在它们的每一个上,则这两个都是必需的


如何对此规则进行服务器端验证(也包括客户端验证)?

您可以为此使用自定义属性。简而言之,自定义属性将检索这两个值,然后确保至少有一个值。有关更多信息,请参阅。下面是一个示例(未测试的代码):

用法:

class Person{

 [ValidatePersonName]
 FirstName{get;set;}

 LastName{get;set;}
}

我不知道asp.net,但如果它在php中起作用,那么数据库中应该有一个prepersist数据事件。您应该在该事件上创建一个条件,如果两个值都为null,该条件将引发错误?
class Person{

 [ValidatePersonName]
 FirstName{get;set;}

 LastName{get;set;}
}