2
我正在使用數據註釋來驗證電子地址。C#RegularExpression屬性構造函數被調用一次
要顯示emailaddress無效的錯誤消息,我使用名爲ErrorMessages的RESX文件。
我的代碼是這樣的:
public class EmailAdressAttribute : RegularExpressionAttribute
{
public EmailAdressAttribute()
: base(@"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,3}|[0-9]{1,4})(\]?)$")
{
ErrorMessage = ErrorMessages.ValidateEmailAdress;
}
當我改變我的asp.net MVC應用程序的語言(目前的文化),同時運行的應用程序,舊的語言仍顯示。
調試後,我發現該屬性的構造函數只被調用一次(當我第一次使用它)。
如何緩存屬性? 如何從資源文件顯示正確的錯誤消息?
謝謝你,解決方案的工作(不使用覆蓋關鍵字)。 – Jan 2010-07-19 11:52:50
好!我猜想ErrorMessage是基類的一個屬性。顯然它屬於EmailAddressAttribute類。 – 2010-07-19 12:08:23