C# 仅允许特定的电子邮件地址
我正在从事一个MVC项目,我需要验证特定组的电子邮件地址。例如,只有那些emailID@stanford.edu可以注册。我尝试了数据批注,但它只验证电子邮件地址,而不是子字符串。如何检查电子邮件地址是否包含@stanford.edu?先谢谢你 因此,根据我的建议,我尝试了这一个,但是在构建过程中我得到了错误: 找不到可重写的合适方法。我试过这个C# 仅允许特定的电子邮件地址,c#,.net,asp.net-mvc,validation,overriding,C#,.net,Asp.net Mvc,Validation,Overriding,我正在从事一个MVC项目,我需要验证特定组的电子邮件地址。例如,只有那些emailID@stanford.edu可以注册。我尝试了数据批注,但它只验证电子邮件地址,而不是子字符串。如何检查电子邮件地址是否包含@stanford.edu?先谢谢你 因此,根据我的建议,我尝试了这一个,但是在构建过程中我得到了错误: 找不到可重写的合适方法。我试过这个 /* * Attribute to validate schools */ public class ValidateSchoolAttribut
/*
* 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;
}
}
}
您应该设置自定义验证属性 像这样的
public类onlystanfordmailAttribute:ValidationAttribute
然后覆盖IsValid
功能
如果您也需要客户端验证,您可以遵循,您可以使用
[regular expression]
属性
[RegularExpression(@".*@(harvard|stanford)\.edu")]
[EmailAddress]
public string Email { get; set; }
尝试用谷歌搜索这个
stringsplitc.
,提示:userstring.split()
这是一个很棒的方法。从没想过。