2010-11-24 13 views
4

データアノテーションを使用してPOCOクラスをセットアップしました。ASP.NET MVCとデータアノテーションを使用してモデルのPARTを検証する

これらのクラスのうちの1つについては、ユーザがすべてのデータを設定するための複数のビューを呼び出す。たとえば、ユーザ名とパスワードを持つクラスであれば、最初のページではユーザ名を指定し、2番目のページではパスワードを指定します。

私は完全なPOCOクラスを使用しています(これは、ユーザ名&の両方のパスワードが必要です)、ModelState.IsValidに尋ねると、パスワードはまだ入力されていないのでfalseになりますが、次のページに供給される予定です!

モデル全体ではなく値を提供する必要があるモデルの要素を検証する一般的な方法はありますか?私はModelStateから個々のアイテムのエラーを取り除くことができることを知っています。

私は、実行されているエントリの各ページ部分に対して別々のモデルを持つようにモデル要素を分けることができると知っていますが、ビューに合わせて基になるクラスを変更しているように感じます。

よろしく

ジェイミー

答えて

0

はのViewModelクラスに検証を入れてみてください。各ビューは独自のViewModelクラスを持ちます。 1つはユーザー名、もう1つはパスワードです。必要なすべてのデータを収集するまでモデルを使用しないでください。

+0

しかし、私には問題があります。私たちはすでにPOCOクラスに必要なバリデーションを指定しましたが、このアクティビティを他のクラスに入れて複製するのではないのですか?実際に分割することができてうれしいですが、このモデルでは、アノテーションを介して、必要なものとそうでないものを指定しています。 – jamie

+0

私は同意する、あなたは検証ルールを複製したくない。私は、ジェイミーが提供したリンクがあなたが探している答えを与えると思います。 – Steven

関連する問題