Can the HttpContext be accessed within a ValidationAttribute in ASP.NET MVC 3?
I need to test for something in my route data for a match in order to return true on my validator.
Thanks
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Yes, you can access the static HttpContext.Current property to get the current http context.
This property may return null depending on what thread you are running your validation on, or in a non http request such as in a unit test.
You will most likely want to abstract away the call you make to .Current in order to create more testable code. To do this, have your abstracted member return an HttpContextBase, like this:
This abstraction will allow you to pass in mock http context base instances for easier testing.