GON*_*ale 7 .net validation asp.net-mvc custom-attributes
可以在ASP.NET MVC 3中HttpContext访问ValidationAttribute吗?
我需要在路由数据中测试一些匹配项,以便在我的验证器上返回true.
谢谢
是的,您可以访问静态HttpContext.Current属性以获取当前的http上下文.
此属性可能会返回null,具体取决于您正在运行验证的线程,或者在非http请求(例如单元测试)中.
您很可能希望抽象出您对.Current进行的调用,以便创建更多可测试的代码.要做到这一点,让你的抽象成员返回一个HttpContextBase,如下所示:
return new HttpContextWrapper(HttpContext.Current);
Run Code Online (Sandbox Code Playgroud)
这种抽象将允许您传递模拟的http上下文基础实例,以便于测试.