問題タブ [system.componentmodel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc - すべての検証属性のエラー メッセージのオーバーライド
検証に属性を使用してSystem.ComponentModel.DataAnnotations
いますが、ハードコードされた文字列やリソースからではなく、外部サービスからエラー メッセージを取得したいと考えています。私がこれまでに見つけたソリューションには、あまりにも多くのコードが必要です。属性ごとDataAnnotationsModelValidatorProvider
にアダプター ファクトリを作成し、バリデーター プロバイダーを作成して、独自のものに置き換えModelValidatorProviders.Providers
ます。コードが検証へのすべての呼び出しを「ラップ」でき、外部サービスで適切な文字列を見つけるためのキーとしてErrorMessageResourceType
andを使用するため、属性自体にアクセスできる拡張ポイントのような、より良い方法はありますか。ErrorMessageResourceName
(この問題が解決されるように見える ASP.NET Core ではなく、MVC 5 を使用しています)
c# - GetMember() が列挙型に対して空の配列を返すことはありますか?
属性を取得するためのこのenum
拡張メソッドを見てください。Description
属性enum
の例:Description
最後に、拡張メソッドの使用法:
私の質問は、enum
sに関してはif (memberInfo.Length < 1)
チェックが必要ですか?から返された配列GetMember()
が空になることはありenum
ますか? 次のように空を宣言できることを知っていますenum
:
しかし、型の変数を作成できるかどうかはわかりませんColors
...
チェックを削除しif (memberInfo.Length < 1)
たいのですが、後で問題が発生する場合は削除したくありません (空enum
の が必要になる理由は思いつきませんが、他の開発者はおそらくGetDescription()
拡張メソッドを使用するでしょう) 。 .