有没有办法允许用户在仍然启用模型验证的同时提交html内容?

时间:2011-04-12 19:29:59

标签: asp.net-mvc-2 c#-4.0 asp.net-mvc-2-validation

我需要允许用户在其文本输入中提交包含html的表单值。这是一个面向内部的应用程序,因此这样做是相当安全的。

我成功使用了

[ValidateInput(false)] 
有问题的方法的

属性,但是这会阻止对所讨论的方法/视图模型的所有模型验证,但我只想在一个中允许html TextBoxes并不一定希望在同一个方法/视图模型中为每个其他模型验证编写我自己的guard子句,当我更愿意继续对视图模型中的所有其他属性使用Data Annotations时。   太糟糕了,我无法将[ValidateInput(false)]仅应用于我的viewmodel的单个属性。我认为我需要覆盖mvc的默认模型验证,但我找不到任何有关如何执行此操作的文档。每次搜索都会产生仅描述如何编写自己的自定义验证属性的结果,这对于我正在尝试解决的问题是不正确的。 谢谢!

1 个答案:

答案 0 :(得分:1)

您必须将您的应用程序升级到ASP.NET MVC 3.您有AllowHtmlAttribute,您可以使用它来禁用属性级别的输入验证。 ASP.NET MVC 3可以向后兼容ASP.NET MVC 2,因此升级应该很容易。