Dot-Net

一個也是和我是我_和米一種一世lEmail屬性是否內置在 ASP.NET MVC 3 中?

  • August 14, 2013

[Email]屬性是否會像未來一樣內置到 ASP.NET MVC 3 中?那麼它現在是否可用?我想這是一個非常愚蠢的問題,但我花了一些時間在Google上搜尋並沒有找到任何正常的答案。

電子郵件正則表達式:

"^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$"

如果[Email]應該是 MVC 模型的數據註釋(如[Required]),那麼它不會內置到 ASP.NET MVC 3 中。

所有模型數據註釋都可以在命名空間System.ComponentModel.DataAnnotations中找到。在那裡你可以找到像RequiredAttribute這樣的類。

更新:

添加Email屬性非常容易:

using System.ComponentModel.DataAnnotations;

namespace YourNamespace
{
   public class EmailAttribute : RegularExpressionAttribute
   {
       public EmailAttribute() : base("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?")
       {
       }
   }
}

檢查電子郵件地址的最佳或正確正則表達式是什麼,是網路上一個單獨且長期的辯論。我並不是堅持我的就是其中之一。

您可以包含 System.ComponentModel.DataAnnotations 並使用

   [DataType(DataType.EmailAddress)]
   public String ToAddress { get; set; }

引用自:https://stackoverflow.com/questions/5841518