2014-10-29 59 views
-1

如果电子邮件存在功能检查我想显示错误我该怎么办如果通过功能验证MVC5

我该怎么做?

[RequiredIf(BL.datafuncs.checkIfExist(email) == true, ErrorMessage = "email already exist")] 

public string email { get; set; } 
+0

你想在这里做什么?听起来就像你想要一个'[Remote]'属性,它检查数据库中是否已经存在一个电子邮件,如果它存在则显示错误。这不是'[RequiredIf]'的用途 – 2014-10-29 00:12:44

回答

0

自定义属性被嵌入在装配时,他们没有运行时的东西,所以你永远都不可能让功能的属性参数里面。我建议你在控制器调用中执行检查并相应地执行一些操作

2

RequiredIf属性用于根据另一个属性的值验证所需的属性。例如,如果您的模型包含属性bool NotifyMeByEmailstring EmailAddess那么您可以按如下方式应用它。

public bool NotifyMeByEmail { get; set; } 

[RequiredIf("NotifyMeByEmail", ErrorMessage = "Please enter you email address")] 
public string EmailAddress { get; set; } 

然后在视图中,如果未检查NotifyMeByEmail的复选框,对于EmailAddress产生一个验证错误。

它看起来像你实际上想验证用户输入的电子邮件不存在于他的数据库,在这种情况下,你需要一个[Remote]属性(标准的MVC,不是万无一失)。 How to: Implement Remote Validation in ASP.NET MVC

相关问题