[英]Using model data annotation in MVC to ensure a string contains just one word?
[英]Using model data annotation validation in MVC to ensure a paragraph contain email pattern string
我嘗試使用 C# 和System.ComponentModel.DataAnnotations
命名空間在 ASP.NET MVC 中創建文本框驗證。 文本框應接受自然人類語言並允許 1 個或多個電子郵件值...
這是我當前的代碼
[RegularExpression(@"([a-zA-Z0-9+._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9_-]+)", ErrorMessage = "Value Input on box1 must contain email object")]
public string Email_RawInput_1 { get; set; }
因此,如果用戶鍵入這樣的內容,它將通過並且不會在 UI 中返回錯誤消息。
但如果用戶鍵入如下內容,則驗證失敗
如何使用System.ComponentModel.DataAnnotations
命名空間實現這一點?
如果你想使用數據注釋,你可以創建一個自定義屬性,你可以在網上找到很多示例。 然后用您的自定義屬性裝飾您的財產
public CheckEmailAttribute : ValidationAttribute
{
public override IsValid(object value)
{
var text = value as string;
if (this.DoesContainEmail(text))
{
return true;
}
// does not contain an Email address
return false;
}
private bool DoesContainEmail(string text)
{
return Regex.IsMatch(text,@"([a-zA-Z0-9+._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9_-]+)" );
}
}
還有另一種方法,請查看此鏈接,也許您會發現它是一個有用的庫
using System.Net.Mail;
private boolean EmailValidation(ByVal _emailAddress)
{
try
{
MailAddress m = new MailAddress(_emailAddress)
return true;
}
catch (Exception ex)
{
return false;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.