2

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

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

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

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

谢谢,

4

1 回答 1

3

您必须在模型中实现 IValidatableObject 接口并在模型中添加方法 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

于 2012-05-28T12:04:38.747 回答