2011-06-29 9 views
0

私はASP.NET MVC 3.0を使用していますが、アクションで受け取ったブール値Xを設定するActionFilterAttributeを持っています。また、受信したビューモデルを検証するためにデータアノテーションを使用しています。私は、OnActionExecutingがデータ注釈の検証が始まる前に実行されているかどうか疑問に思っています。もしそうなら、ActionFilterAttribute経由でビューモデルプロパティの値を設定することは可能ですか?データアノテーション+ ActionFilterAttribute

ありがとうございました。

幸運を祈り、

クリスチャン

答えて

1

モデルの検証は認証フィルタを除く任意のActionFilters前を結合モデルで実行されます。ですから、ActionFilterAttributeの値を設定することは、その時点ですでに発生しているため、検証には影響しません。

私が今見ているのは、カスタムモデルバインダーを作ることだけです。

+0

ええ私はちょうど自分自身を考え出した。 ActionFilterAttributeをAuthorizationフィルタにすることができますか?これはオプションかもしれません。 – cs0815

+0

カスタムモデルのバインダーを実行することが望ましいでしょう。なぜなら、承認フィルタは検証を行うために作られていないからです。同じセマンティクスを保つ方が良いでしょう。 –

1

検証はモデルバインダーによってトリガーされます。これはOnActionExecutingの前に発生します。値を設定し、検証をトリガーするカスタムモデルバインダーを作成することができます。

関連する問題