0

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);
        }
    } 
}

しかし、選択したコントローラーに適用される多くの検証フィルターが必要ですか?

4

1 に答える 1

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
    }
}

このチュートリアルでは、フィルターについて詳しく説明し、両方のシナリオの例を示します。

于 2013-02-28T20:07:26.380 に答える