1 回答

TA贡献1817条经验 获得超14个赞
如果我们创建一个自定义属性,如下所示:
public class EmailsCustomAttribute : ValidationAttribute
{
public EmailsCustomAttribute(string pattern)
{
this.Pattern = pattern;
}
public string Pattern { get; }
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
Regex regex = new Regex(Pattern);
List<string> emails = value as List<string>;
string errorMessage = string.Empty;
foreach (var item in emails)
{
if (!regex.IsMatch(item))
{
errorMessage += this.ErrorMessage.Replace("{0}", item);
}
}
ValidationResult validationResult = new ValidationResult(errorMessage);
return validationResult;
}
}
并将其用作以下内容:
public class TestModel
{
[EmailsCustom(@"[a-z0-9!#$%&' * +/=?^ _`{|}~-]+(?:\.[a-z0-
9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-
9](?:[a-z0-9-]*[a-z0-9])?", ErrorMessage = "{0} is invalid email")]
public List<string> Emails { get; set; }
}
- 1 回答
- 0 关注
- 103 浏览
添加回答
举报