我试图通过执行以下操作关闭控制器中所有操作方法的请求验证:
[ValidateInput(false)]
public class MyController : Controller
{
...
Run Code Online (Sandbox Code Playgroud)
我正在使用的参考说这是可能的,并告诉我这样做,但由于某种原因,它不起作用.
如果我通过文本框提交任何html(甚至是简单的<b>标签),我会收到错误消息:
从客户端检测到一个潜在危险的Request.Form值(text = <b>").
通过将属性附加到单个方法也无法正常工作.
如何禁用控制器的请求验证?
我在VS2008内置测试服务器.
我的解决方案有这些项目:
DAL,BL和WEB都参考了很棒的DTO.
该过程通常以这种方式执行:
我的DTO能够根据自己的状态(属性值)验证自己.但是现在我遇到了问题,但事实并非如此.我需要他们使用BL(以及因此DAL)进行验证.
我的现实生活中的例子:用户注册和WEB获得验证的用户DTO.有问题的部分是username验证.应根据数据存储检查其唯一性.
我该怎么做?
还有其他信息表明所有DTO都实现了IoC和TDD 的接口(即UserDTO实现IUser).两者都是DTO项目的一部分.
Compilation errorPartial classes can't span assemblies.ActionFilter,可以根据外部条件验证对象.这个将在WEB项目中创建,因此可以看到将在此处使用的DTO和BL.