我正在开发一个MVC项目,我需要验证特定组的电子邮件地址。例如,只有使用emailID@stanford.edu的人才能注册。我确实尝试过数据注释,但它只验证电子邮件地址,而不是子字符串。如何检查电子邮件地址是否包含@ stanford.edu?先感谢您。
所以,根据我尝试过的建议,但是我在构建过程中遇到错误: 找不到合适的方法来覆盖。我试过这个。
/*
* Attribute to validate schools
*/
public class ValidateSchoolAttribute : ValidationAttribute
{
public string stanfordEmail { get; set; }
public string harvardEmail { get; set; }
public override bool IsValid(String value)
{
if (value == null){
return true;
}
char[] delimiterCharacter = { '@' };
String text = value;
String[] words = text.Split(delimiterCharacter);
if( words.Equals("stanford.edu") ||words.Equals("harvard.edu") ){
return true;
}
else{
return false;
}
}
}
答案 0 :(得分:2)
您可以使用[RegularExpression]
属性
[RegularExpression(@".*@(harvard|stanford)\.edu")]
[EmailAddress]
public string Email { get; set; }
答案 1 :(得分:1)
你应该制作自定义验证属性。
类似这样的事情
public class OnlyStanfordEmailAttribute: ValidationAttribute
然后覆盖IsValid
函数。
如果您也想要客户端验证,则可以关注this tutorial