4
OnActionExecuting
の方法でカスタムアクションフィルタでModelState.IsValid
をチェックすることはできますか?ModelStateをアクションフィルタでチェック
OnActionExecuting
の方法でカスタムアクションフィルタでModelState.IsValid
をチェックすることはできますか?ModelStateをアクションフィルタでチェック
はい。 ModelStateはViewDataの一部です。あなたは、アクションの実行後にいくつかのコードを挿入したい場合、例えば
filterContext.Controller.ViewData.ModelState
が、唯一ModelState.IsValid == true
場合、あなたが行うことができます:あなたはそれを使用して得ることができるので、
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
if (!filterContext.Controller.ViewData.ModelState.IsValid) return;
// do something
}
うわー、おかげで... ModelStateがViewDataの一部になっているような簡単なことがいかに面白くないかは面倒なことかもしれません。これはビューからも機能します! –
ビューの場合は、ViewDataは何も表示されません。 – awrigley