FYI I am using .NET 4.0 / MVC 3.
In my controller, the following is my code:
[HttpPost] [ValidateInput(false)] public ViewResult Edit(ContentTemplateView contentTemplateView, FormCollection collection)
Everything works fine when I don’t enter HTML, so I know the proper controller is being fired. Also, I have following set properly in my web.config files:
<httpRuntime requestValidationMode="2.0"/>
I only get this problem when I include the FormCollection (which is needed for this particular Controller). So what exactly am I doing wrong?
[I have done what was proposed on the following questions, and they work as long as there is no FormCollection. None of them offer a solution with an included FormCollection]
- Why is ValidateInput(False) not working?
- Asp.Net MVC Input Validation still firing after being disabled
- ValidateInput Attribute Doesn’t Seem To Work in ASP.NET MVC
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
I think I’ve solved my own riddle, with the help of this forum: http://forums.asp.net/p/1621677/4163625.aspx
I just modified my Controller so that it didn’t accept the Controller, and instead grabbed the unvalidated form collection from the Request [with the help of System.Web.Helpers].
using System.Web.Helpers;
[HttpPost]
[ValidateInput(false)]
public ViewResult Edit(ContentTemplateView contentTemplateView)
{
FormCollection collection = new FormCollection(Request.Unvalidated.Form);
Method 2
I just installed ASP.NET MVC 3 RC2, and this bug has been fixed. The following code works as expected now.
[HttpPost]
[ValidateInput(false)]
public ViewResult Edit(FormCollection form)
{
}
Method 3
If you are using custom model binders and [ValidateInput(false)] is not working then you might find a solution here: http://blogs.taiga.nl/martijn/2011/09/29/custom-model-binders-and-request-validation/
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0