我在ASP.Net MVC 5中创建Web应用程序。
我需要添加用户定义的语言。 (因此,它可以用任何语言工作)。
我在资源文件中添加了英文文本/消息。
而对于其他语言,将在App_GlobalResources文件夹中生成资源。
使用这些自定义资源,我可以按照所选语言显示标签(,按钮等)。
但是,我遇到了ErrorMessage的问题,它在模型的属性中作为属性给出。
模型类在类库中,类库项目的引用添加在MVC中。
因此,无法从App_GlobalResources文件夹访问资源。
而且,如果我在Project of Model类下添加资源,我可以使用以下代码给出自定义消息。
[Required(ErrorMessage = "*")]
[System.Web.Mvc.Compare("Password", ErrorMessageResourceType = typeof(Resources), ErrorMessageResourceName = "PasswordCompare")]
public string ConfirmPassword { get; set; }
但是,使用此代码,我无法使用App_GlobalResources。
在这种情况下会有什么解决方案?
答案 0 :(得分:1)
最后,我得到了解决方案:
创建自定义属性类。
WebElement element = driver.findElement(By.xpath("//div[contains(text(),'Test Profile')]"));
String text = element.getText();
Custom Attribute类继承CompareAttribute类。
[Required(ErrorMessage = "*")]
[CompareCustomAttribute("Password", ClassKey = "Resources", ResourceKey = "PasswordCompare")]
public string ConfirmPassword { get; set; }
在重写的FormatErrorMessage方法中,我已经放置代码以从Global Resources获取自定义的错误消息。