EmailAddressAttribute
- это запечатанный класс, мы не можем использовать EmailAddressAttribute
для создания производного от него пользовательского класса проверки, но вы можете расширить его с ValidationAttribute
при создании определенных правил проверки для поля адреса электронной почты вместо использования по умолчанию.
public class CustomEmailAddressAttribute : ValidationAttribute
{
protected override ValidationResult IsValid(
object value, ValidationContext validationContext)
{
Regex rgx = new Regex(@"[a-z0-9._%+-]+@mit.edu");
if(!rgx.IsMatch(value.ToString()))
{
return new ValidationResult(GetErrorMessage());
}
return ValidationResult.Success;
}
public string GetErrorMessage()
{
return $"Please enter a valid email which ends with @mit.edu";
}
}
Модель:
[CustomEmailAddress]
public string StudentEmail { get; set; }
Или вы можете напрямую использовать проверку регулярных выражений, вы можете использовать следующую проверку просто:
[RegularExpression(@"[a-z0-9._%+-]+@mit.edu", ErrorMessage = "Please enter a valid email which ends with @mit.edu")]
public string StudentEmail { get; set; }