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