在Web API或ASP.NET MVC应用程序中,我可以通过执行 -
添加全局验证过滤器 GlobalConfiguration.Configuration.Filters.Add(new ModelValidationFilterAttribute());
和
public class ModelValidationFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(HttpActionContext actionContext)
{
if (actionContext.ModelState.IsValid == false)
{
actionContext.Response = actionContext.Request.CreateErrorResponse(HttpStatusCode.BadRequest, actionContext.ModelState);
}
}
}
但我希望有许多适用于我选择的控制器的验证过滤器?
答案 0 :(得分:2)
过滤器是可以应用于控制器的属性或控制器中的特定方法/操作。
要根据具体情况使用过滤器,您可以执行以下任一操作:
[MyFilter]
public class HomeController : Controller
{
//Filter will be applied to all methods in this controller
}
或者:
public class HomeController : Controller
{
[MyFilter]
public ViewResult Index()
{
//Filter will be applied to this specific action method
}
}
This tutorial详细介绍了过滤器,并提供了两种方案的示例。