我需要允许用户在其文本输入中提交包含html的表单值。这是一个面向内部的应用程序,因此这样做是相当安全的。
我成功使用了[ValidateInput(false)]
有问题的方法的属性,但是这会阻止对所讨论的方法/视图模型的所有模型验证,但我只想在一个中允许html TextBoxes并不一定希望在同一个方法/视图模型中为每个其他模型验证编写我自己的guard子句,当我更愿意继续对视图模型中的所有其他属性使用Data Annotations时。 太糟糕了,我无法将[ValidateInput(false)]仅应用于我的viewmodel的单个属性。我认为我需要覆盖mvc的默认模型验证,但我找不到任何有关如何执行此操作的文档。每次搜索都会产生仅描述如何编写自己的自定义验证属性的结果,这对于我正在尝试解决的问题是不正确的。 谢谢!
答案 0 :(得分:1)
您必须将您的应用程序升级到ASP.NET MVC 3.您有AllowHtmlAttribute,您可以使用它来禁用属性级别的输入验证。 ASP.NET MVC 3可以向后兼容ASP.NET MVC 2,因此升级应该很容易。