HttpContext
は、ASP.NET MVC 3のValidationAttribute
にアクセスできますか?ASP.NET MVCのValidationAttribute内でHttpContextにアクセスできますか?
私のバリデーターで真を返すために、私のルートデータに一致するものがあるかどうかテストする必要があります。
おかげ
HttpContext
は、ASP.NET MVC 3のValidationAttribute
にアクセスできますか?ASP.NET MVCのValidationAttribute内でHttpContextにアクセスできますか?
私のバリデーターで真を返すために、私のルートデータに一致するものがあるかどうかテストする必要があります。
おかげ
はい、あなたは現在のHTTPコンテキストを取得するために、静的HttpContext.Currentプロパティにアクセスすることができます。
このプロパティは、検証を実行しているスレッドや単体テストなどの非httpリクエストではnullを返すことがあります。
より多くのテスト可能なコードを作成するために、あなたが.Currentに行った呼び出しを抽象化したい場合があります。これを行うには、あなたの抽象化されたメンバーは、このように、HttpContextBaseを返すがあります。
return new HttpContextWrapper(HttpContext.Current);
この抽象化は、あなたがより簡単にテスト用のモックHTTPコンテキストベースインスタンスに渡すことができるようになります。
代わりにRemoteValidationAttributeを使用するのはなぜですか?
これは理想的だと思う方法を理解していますが、実際にはフォームロード時に検証を適用する必要がありました(特定の条件が満たされていれば、フィールドに検証が存在します。これに適した解決策です。 – GONeale
ありがとう、私はおそらく私は基本メンバーまたはパラメータを介してアクセスする必要があると思った。洞察のための歓声。 – GONeale