MVC4发布HTML和验证错误

时间:2012-11-12 19:32:55

标签: asp.net-mvc asp.net-mvc-4

因此表单可能只显示验证错误(不允许使用HTML)而不是抛出异常

  

从客户端

检测到潜在危险的Request.Form值

当我在输入中包含HTML时。我不想接受HTML,但我也不想得到例外。

2 个答案:

答案 0 :(得分:0)

在ASP .NET 4.0中,默认情况下为所有请求启用请求验证。

http://www.asp.net/whitepapers/aspnet4/breaking-changes

您仍然可以强制您的应用忽略此检查。

有关详细信息,请参阅链接: -

ValidateRequest="false" doesn't work in Asp.Net 4

但是,我不会提倡这个策略。最好在发送到服务器之前尝试使用Javascript 验证文本,以确保它不包含任何使ValidateRequest行为更加突出的字符。

这个问题涵盖了所有这些字符: -

What characters or character combinations are invalid when ValidateRequest is set to true?

如果您的用户未启用Javascript,您仍会遇到错误。在那种(罕见的)情况下,你可以回到customErrors,这样你至少可以展示比黄色错误页更漂亮的东西。

答案 1 :(得分:-1)

您可以处理web.config文件中的错误的应用程序行为:

</system.web>
…
   <customErrors defaultRedirect="/ErrorPage" mode="RemoteOnly"></customErrors>
…
</system.web>

此外,除了指定是否显示详细错误之外,您还可以将用户重定向到特定页面,以向他显示您设计的自定义错误页面。

有关此检查的更多信息msdn explanation for customErrors element