只允许特定的电子邮件地址

本文关键字:电子邮件地址 许特定 | 更新日期: 2023-09-27 18:29:39

我正在进行一个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;
        }
    }
}

只允许特定的电子邮件地址

您可以使用[RegularExpression]属性

[RegularExpression(@".*@(harvard|stanford)'.edu")]
[EmailAddress]
public string Email { get; set; }

您应该创建自定义验证属性。

像这个

public class OnlyStanfordEmailAttribute: ValidationAttribute

然后覆盖CCD_ 3功能。

如果你也想要客户端验证,你可以按照这个教程