asp.net-mvc-3 - 如何为电子邮件地址创建“不得匹配”属性

标签 asp.net-mvc-3 c#-4.0 data-annotations

我正在使用数据注释来验证我的属性,以下是我的页面的属性

public string YourEmail{get;set;}
public string AnotherEmail{get;set;}

我的要求是两个电子邮件 ID 不能相同

请建议我应该使用数据注释中的什么来解决这个问题

谢谢

最佳答案

您必须在模型中实现 IValidatableObject 接口(interface),并在模型中添加 Validate 方法。

public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
      List<ValidationResult> validationResults = new List<ValidationResult>();

      if (string.Equals(this.Email1,this.Email2,StringComparison.OrdinalIgnoreCase))
      {
          validationResults.Add(new ValidationResult(ErrorMessage.EmailError, new string[] { "Email ID" }));
      }

      return validationResults;
}

或者您可以根据您的要求创建自定义数据注释。请引用以下网址。

http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.customvalidationattribute%28v=vs.95%29.aspx

关于asp.net-mvc-3 - 如何为电子邮件地址创建“不得匹配”属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10783390/

相关文章:

asp.net-mvc - 如何在 RedirectToAction 中传递参数?

asp.net-mvc - 将所有方法放在一个 .tt 文件中,并在 MVC 的 CodeTemplates 中的另一个 t4 文件中使用它

JavaScript 错误(Microsoft JScript 运行时错误 : Object expected)

c# - 为什么编译器不在 C# 中将 var[] 转换为 object[]?

asp.net - DataTypeAttribute 是 DefaultModelBinder 类的验证属性吗

asp.net-mvc - 如何使用 Html.EditorFor 和 MVC3 设置 id

json - 如何在将 JSON 对象转换为 c# 时替换 $ 而不实际更改 $ 存在的特定字段的名称?

asp.net-mvc-3 - 在 ASP.NET MVC 3 中应用数据注释时,你打算如何使用提示、描述、排序

jquery - 如何在 ASP.NET MVC 中为有效字段添加绿色边框