我嘗試使用 C# 和System.ComponentModel.DataAnnotationsnamepsace在 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 中回傳錯誤訊息。
- “我的郵箱是 [email protected],[email protected]”
- "[email protected];[email protected]"
- “我沒有電子郵件,我使用我姐姐的電子郵件,[email protected]”
但是如果用戶鍵入如下內容,它將無法通過驗證
- 我的名字是約翰
- 我喜歡游泳
如何使用System.ComponentModel.DataAnnotations命名空間實作這一點?
uj5u.com熱心網友回復:
如果您想使用資料注釋,您可以創建一個自定義屬性,您可以在網上找到很多示例。然后用您的自定義屬性裝飾您的財產
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_-] )" );
}
}
還有另一種方法,請查看此鏈接,也許您會發現它是一個有用的庫
uj5u.com熱心網友回復:
using System.Net.Mail;
private boolean EmailValidation(ByVal _emailAddress)
{
try
{
MailAddress m = new MailAddress(_emailAddress)
return true;
}
catch (Exception ex)
{
return false;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/392678.html
