默认情况下,覆盖DataAnotations以从Resx文件中提取

时间:2014-07-11 21:28:30

标签: asp.net asp.net-mvc-4 internationalization resources resx

我正在尝试为ASP> NET MVC 4项目添加一些本地化。我成功地做到了这一点,但是......

我不喜欢 -

  [Required(ErrorMessageResourceType = typeof(Resources.Resources), ErrorMessageResourceName = "RequiredField")]
    [Display(ResourceType = typeof(Resources.Resources))]
    public string FirstName { get; set; }

    [Display(ResourceType = typeof(Resources.Resources))]
    public string MiddleName { get; set; }

    [Display(ResourceType = typeof(Resources.Resources))]
    [Required(ErrorMessageResourceType = typeof(Resources.Resources), ErrorMessageResourceName = "RequiredField")]
    public string LastName { get; set; }

    [Display(ResourceType = typeof(Resources.Resources))]        
    public string Suffix { get; set; }

    [Display(ResourceType = typeof(Resources.Resources))]
    [Required(ErrorMessageResourceType = typeof(Resources.Resources), ErrorMessageResourceName = "RequiredField")]
    public string AddressLine1 { get; set; }

我想要的是一种为我的所有数据注释自动设置默认资源文件的方法,以及默认为属性的NAme的键。

我的想法是可行的:有没有办法覆盖内置的数据注释,例如[必需],并将其设置为默认使用我的“Resources.Resources”并使用键的名称进行搜索在资源文件中?此外,如果密钥不存在默认它的东西。现在,如果密钥不存在,则会破坏网站。

基本上我被问到是否有更好的方法来执行此操作,而不是复制和粘贴此“[必需(ErrorMessageResourceType = typeof(Resources.Resources),ErrorMessageResourceName =”RequiredField“)]”无处不在。< / p>

如果需要澄清,请告诉我。

0 个答案:

没有答案