使用DataAnnotation的远程属性时出错?

时间:2011-09-12 20:18:37

标签: asp.net-mvc asp.net-mvc-3 model

我在使用data-anotation的远程属性时遇到问题。

我正在为存储数据的用户建立模型:

[DataType(DataType.EmailAddress,ErrorMessage="please enter valid email")]
[DisplayName("Email Address")]
[Required(ErrorMessage = "Email is Required")]
[Remote("CheckUniqueEmail","User",ErrorMessage="An account with this email address already exists.")]
public string Email { get; set; }

我正在创建新的用户电子邮件时查看该用户的电子邮件...

当我尝试使用不同控制器中的电子邮件和密码登录时,它仍会调用Remote并检查唯一的电子邮件...

我想我必须在Login控制器中排除电子邮件和密码属性 - 但我不知道如何。

3 个答案:

答案 0 :(得分:2)

您需要使用2种不同的视图模型,一种用于创建帐户,另一种用于登录。

答案 1 :(得分:1)

您应该使用另一个模型登录LoginController。

这些验证将在您使用此模型的任何地方使用。

答案 2 :(得分:1)

您还可以使用MetadataType重用相同的基本模型并应用不同的验证。示例Here