3

ASP.NET MVC 5 を使用してアプリケーションを開発しています。テキストのローカリゼーションには、リソース ファイルの代わりにデータベースを使用しています。

Requiredさまざまな検証属性 ( 、など)の適切に翻訳されたエラー メッセージを取得するために、ここで説明されているようにRange、 のカスタム メタデータ プロバイダー デリバラーを使用しています。これまでのところ、すべてが期待どおりに機能しています。DataAnnotationsModelMetadataProvider

問題は、「フィールド X は数値でなければなりません」などのデフォルトのエラー メッセージを翻訳したいときに発生します。ASP.NET MVC エンジンは属性を介してこれらのエラーを処理していないように見えるため、この場合、cursom メタデータ プロバイダーは役に立ちません。

このページでは、リソース ファイルを使用してこれらのメッセージを翻訳する方法について説明しています。基本的には、次のApplication_Startメソッドでこれらの行を追加しGlobal.asaxます。

ClientDataTypeModelValidatorProvider.ResourceClassKey = "MyResources";
DefaultModelBinder.ResourceClassKey = "MyResources";

...しかし、テキストにデータベースを使用する場合、これをどのように適用できるか想像できません。

私の質問は次のとおりです。テキストが標準リソース ファイルにない場合に、ASP.NET MVC のデフォルト (非検証属性ベース) のエラー メッセージをどのように変換するのですか?

4

0 に答える 0