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 關注
- 122 瀏覽
添加回答
舉報