0

組み込みのリソース ジェネレーターで生成されたリソース ファイルに格納されている値のペアにValidationAttributesアクセスしません。(新しい項目の追加 - リソース ファイル)ErrorMessages.resxVS2010

という名前のフォルダーResourcesを追加し、新しいものを追加してResources Fileそれを呼び出しErrorResources、リソースエディターで値のペアを追加しました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

アクセス修飾子は必要ですPublicが、それだけでは十分ではありません。resx ファイルのプロパティを次のように変更する必要があります。

プロパティ

に注意しBuild ActionCustom Tool

さらに、あなたが言及したのではなく、Resxデータ注釈によって使用されます。これらを試して、問題なく動作するかどうかを確認してください。App_GlobalResourcesResources

これがあなたを助けることを願っています。

于 2012-09-10T22:50:49.060 に答える
0

Access ModifierResources File の設定をpublic!に変更してみてください。

ここに画像の説明を入力

于 2012-09-04T21:08:50.177 に答える