0

ValidationAttributes不访问存储在使用内置资源生成器生成的资源文件ErrorMessages中的值对。(添加新项目 - 资源文件).resxVS2010

我只是添加了一个名为 的文件夹Resources,然后添加了一个新文件夹并将其命名Resources FileErrorResources,在资源编辑器中我添加了一个值对StringLengthError- Too Long**。

然后在我的 DataAnnotation.ValidationAttribute 中我写道:

  [StringLength(5, MinimumLength = 3, 
                    ErrorMessageResourceType = typeof(ErrorResources),
                    ErrorMessageResourceName = "StringLengthError")]
  public string Details { get; set; }

我添加了一个using声明以包含ErrorResources.

但是当我运行它时,ValidationAttribute StringLength 是完全无效的。

如果我在没有 ErrorResources 的情况下使用它,如:

  [StringLength(5, MinimumLength = 3)]
  public string Details { get; set; }

验证属性恢复生机。

我尝试访问ErrorResources代码其他部分中的值对,它可以工作。我只是无法让我的 ValidationAttributes 使用 ErrorResources 资源。

4

2 回答 2

0

尝试Access Modifier将资源文件的设置更改为public

在此处输入图像描述

于 2012-09-04T21:08:50.177 回答
0

访问修饰符应该是Public,但这还不够。您必须将 resx 文件的属性更改为如下所示:

特性

注意Build ActionCustom Tool

此外Resx,数据注释使用的应该放在App_GlobalResources而不是Resources你提到的。试试这些,看看是否可行。

希望这会帮助你。

于 2012-09-10T22:50:49.060 回答